In [1]:
import numpy as np

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

from layers import Linear, Sigmoid, Sequential, ReLU
from optim import SGD
from loss import CrossEntropyLoss

import torch
from torch import optim, nn

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

%load_ext autoreload
%autoreload 2
In [2]:
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
In [3]:
def train_model_torch(X_train, y_train, model, optimizer, criterion, num_epochs=50):
    for i in range(num_epochs):
        optimizer.zero_grad()
        pred = model(X_train)

        loss = criterion(pred, y_train)
        accuracy = calculate_accuracy_torch(pred, y_train)

        loss.backward()
        optimizer.step()

        print(f'Epoch: {i + 1} | Loss: {loss} | Accuracy: {accuracy}')

def calculate_accuracy_torch(y_pred, y_true):
    return torch.sum(torch.argmax(y_pred, axis = 1) == y_true) / y_pred.shape[0]
In [4]:
def train_model(X_train, y_train, model, optimizer, criterion, num_epochs=50):
    for i in range(num_epochs):
        optimizer.zero_grad()
        pred = model(X_train)

        loss, loss_grad = criterion(pred, y_train)
        accuracy = calculate_accuracy(pred, y_train)

        model.backward(loss_grad)
        optimizer.step()

        print(f'Epoch: {i + 1} | Loss: {loss} | Accuracy: {accuracy}')

def calculate_accuracy(y_pred, y_true):
    return np.sum(np.argmax(y_pred, axis = 1) == y_true) / y_pred.shape[0]
In [5]:
model = Sequential(
    Linear(4, 3),
    )
optimizer = SGD(model.parameters(), lr=1e-2)
criterion = CrossEntropyLoss()
In [6]:
train_model(X_train, y_train, model, optimizer, criterion, 5000)
Loss: 0.20193335540629617 | Accuracy: 0.9714285714285714
Epoch: 4719 | Loss: 0.2019125852638341 | Accuracy: 0.9714285714285714
Epoch: 4720 | Loss: 0.20189182163982958 | Accuracy: 0.9714285714285714
Epoch: 4721 | Loss: 0.20187106453119075 | Accuracy: 0.9714285714285714
Epoch: 4722 | Loss: 0.2018503139348278 | Accuracy: 0.9714285714285714
Epoch: 4723 | Loss: 0.20182956984765246 | Accuracy: 0.9714285714285714
Epoch: 4724 | Loss: 0.2018088322665787 | Accuracy: 0.9714285714285714
Epoch: 4725 | Loss: 0.20178810118852256 | Accuracy: 0.9714285714285714
Epoch: 4726 | Loss: 0.20176737661040148 | Accuracy: 0.9714285714285714
Epoch: 4727 | Loss: 0.20174665852913537 | Accuracy: 0.9714285714285714
Epoch: 4728 | Loss: 0.20172594694164594 | Accuracy: 0.9714285714285714
Epoch: 4729 | Loss: 0.20170524184485655 | Accuracy: 0.9714285714285714
Epoch: 4730 | Loss: 0.2016845432356928 | Accuracy: 0.9714285714285714
Epoch: 4731 | Loss: 0.20166385111108212 | Accuracy: 0.9714285714285714
Epoch: 4732 | Loss: 0.20164316546795383 | Accuracy: 0.9714285714285714
Epoch: 4733 | Loss: 0.20162248630323915 | Accuracy: 0.9714285714285714
Epoch: 4734 | Loss: 0.2016018136138713 | Accuracy: 0.9714285714285714
Epoch: 4735 | Loss: 0.20158114739678537 | Accuracy: 0.9714285714285714
Epoch: 4736 | Loss: 0.20156048764891854 | Accuracy: 0.9714285714285714
Epoch: 4737 | Loss: 0.20153983436720946 | Accuracy: 0.9714285714285714
Epoch: 4738 | Loss: 0.20151918754859918 | Accuracy: 0.9714285714285714
Epoch: 4739 | Loss: 0.20149854719003055 | Accuracy: 0.9714285714285714
Epoch: 4740 | Loss: 0.20147791328844802 | Accuracy: 0.9714285714285714
Epoch: 4741 | Loss: 0.20145728584079836 | Accuracy: 0.9714285714285714
Epoch: 4742 | Loss: 0.20143666484402997 | Accuracy: 0.9714285714285714
Epoch: 4743 | Loss: 0.20141605029509332 | Accuracy: 0.9714285714285714
Epoch: 4744 | Loss: 0.20139544219094077 | Accuracy: 0.9714285714285714
Epoch: 4745 | Loss: 0.20137484052852653 | Accuracy: 0.9714285714285714
Epoch: 4746 | Loss: 0.20135424530480656 | Accuracy: 0.9714285714285714
Epoch: 4747 | Loss: 0.20133365651673907 | Accuracy: 0.9714285714285714
Epoch: 4748 | Loss: 0.20131307416128402 | Accuracy: 0.9714285714285714
Epoch: 4749 | Loss: 0.20129249823540313 | Accuracy: 0.9714285714285714
Epoch: 4750 | Loss: 0.20127192873606006 | Accuracy: 0.9714285714285714
Epoch: 4751 | Loss: 0.20125136566022062 | Accuracy: 0.9714285714285714
Epoch: 4752 | Loss: 0.20123080900485216 | Accuracy: 0.9714285714285714
Epoch: 4753 | Loss: 0.20121025876692425 | Accuracy: 0.9714285714285714
Epoch: 4754 | Loss: 0.20118971494340804 | Accuracy: 0.9714285714285714
Epoch: 4755 | Loss: 0.2011691775312768 | Accuracy: 0.9714285714285714
Epoch: 4756 | Loss: 0.2011486465275057 | Accuracy: 0.9714285714285714
Epoch: 4757 | Loss: 0.20112812192907153 | Accuracy: 0.9714285714285714
Epoch: 4758 | Loss: 0.20110760373295328 | Accuracy: 0.9714285714285714
Epoch: 4759 | Loss: 0.2010870919361316 | Accuracy: 0.9714285714285714
Epoch: 4760 | Loss: 0.20106658653558923 | Accuracy: 0.9714285714285714
Epoch: 4761 | Loss: 0.20104608752831052 | Accuracy: 0.9714285714285714
Epoch: 4762 | Loss: 0.20102559491128202 | Accuracy: 0.9714285714285714
Epoch: 4763 | Loss: 0.2010051086814919 | Accuracy: 0.9714285714285714
Epoch: 4764 | Loss: 0.20098462883593027 | Accuracy: 0.9714285714285714
Epoch: 4765 | Loss: 0.20096415537158924 | Accuracy: 0.9714285714285714
Epoch: 4766 | Loss: 0.2009436882854626 | Accuracy: 0.9714285714285714
Epoch: 4767 | Loss: 0.2009232275745462 | Accuracy: 0.9714285714285714
Epoch: 4768 | Loss: 0.20090277323583766 | Accuracy: 0.9714285714285714
Epoch: 4769 | Loss: 0.20088232526633648 | Accuracy: 0.9714285714285714
Epoch: 4770 | Loss: 0.20086188366304403 | Accuracy: 0.9714285714285714
Epoch: 4771 | Loss: 0.20084144842296353 | Accuracy: 0.9714285714285714
Epoch: 4772 | Loss: 0.20082101954310003 | Accuracy: 0.9714285714285714
Epoch: 4773 | Loss: 0.20080059702046069 | Accuracy: 0.9714285714285714
Epoch: 4774 | Loss: 0.20078018085205418 | Accuracy: 0.9714285714285714
Epoch: 4775 | Loss: 0.20075977103489126 | Accuracy: 0.9714285714285714
Epoch: 4776 | Loss: 0.20073936756598448 | Accuracy: 0.9714285714285714
Epoch: 4777 | Loss: 0.20071897044234815 | Accuracy: 0.9714285714285714
Epoch: 4778 | Loss: 0.20069857966099883 | Accuracy: 0.9714285714285714
Epoch: 4779 | Loss: 0.2006781952189543 | Accuracy: 0.9714285714285714
Epoch: 4780 | Loss: 0.20065781711323474 | Accuracy: 0.9714285714285714
Epoch: 4781 | Loss: 0.200637445340862 | Accuracy: 0.9714285714285714
Epoch: 4782 | Loss: 0.20061707989885966 | Accuracy: 0.9714285714285714
Epoch: 4783 | Loss: 0.20059672078425325 | Accuracy: 0.9714285714285714
Epoch: 4784 | Loss: 0.2005763679940703 | Accuracy: 0.9714285714285714
Epoch: 4785 | Loss: 0.20055602152533988 | Accuracy: 0.9714285714285714
Epoch: 4786 | Loss: 0.20053568137509317 | Accuracy: 0.9714285714285714
Epoch: 4787 | Loss: 0.20051534754036304 | Accuracy: 0.9714285714285714
Epoch: 4788 | Loss: 0.20049502001818428 | Accuracy: 0.9714285714285714
Epoch: 4789 | Loss: 0.2004746988055935 | Accuracy: 0.9714285714285714
Epoch: 4790 | Loss: 0.20045438389962905 | Accuracy: 0.9714285714285714
Epoch: 4791 | Loss: 0.2004340752973314 | Accuracy: 0.9714285714285714
Epoch: 4792 | Loss: 0.20041377299574242 | Accuracy: 0.9714285714285714
Epoch: 4793 | Loss: 0.2003934769919063 | Accuracy: 0.9714285714285714
Epoch: 4794 | Loss: 0.20037318728286874 | Accuracy: 0.9714285714285714
Epoch: 4795 | Loss: 0.20035290386567736 | Accuracy: 0.9714285714285714
Epoch: 4796 | Loss: 0.20033262673738164 | Accuracy: 0.9714285714285714
Epoch: 4797 | Loss: 0.20031235589503277 | Accuracy: 0.9714285714285714
Epoch: 4798 | Loss: 0.20029209133568396 | Accuracy: 0.9714285714285714
Epoch: 4799 | Loss: 0.2002718330563901 | Accuracy: 0.9714285714285714
Epoch: 4800 | Loss: 0.20025158105420804 | Accuracy: 0.9714285714285714
Epoch: 4801 | Loss: 0.2002313353261963 | Accuracy: 0.9714285714285714
Epoch: 4802 | Loss: 0.20021109586941524 | Accuracy: 0.9714285714285714
Epoch: 4803 | Loss: 0.20019086268092723 | Accuracy: 0.9714285714285714
Epoch: 4804 | Loss: 0.2001706357577963 | Accuracy: 0.9714285714285714
Epoch: 4805 | Loss: 0.20015041509708825 | Accuracy: 0.9714285714285714
Epoch: 4806 | Loss: 0.20013020069587084 | Accuracy: 0.9714285714285714
Epoch: 4807 | Loss: 0.20010999255121342 | Accuracy: 0.9714285714285714
Epoch: 4808 | Loss: 0.2000897906601875 | Accuracy: 0.9714285714285714
Epoch: 4809 | Loss: 0.20006959501986618 | Accuracy: 0.9714285714285714
Epoch: 4810 | Loss: 0.20004940562732437 | Accuracy: 0.9714285714285714
Epoch: 4811 | Loss: 0.20002922247963884 | Accuracy: 0.9714285714285714
Epoch: 4812 | Loss: 0.20000904557388816 | Accuracy: 0.9714285714285714
Epoch: 4813 | Loss: 0.1999888749071527 | Accuracy: 0.9714285714285714
Epoch: 4814 | Loss: 0.19996871047651474 | Accuracy: 0.9714285714285714
Epoch: 4815 | Loss: 0.199948552279058 | Accuracy: 0.9714285714285714
Epoch: 4816 | Loss: 0.19992840031186862 | Accuracy: 0.9714285714285714
Epoch: 4817 | Loss: 0.1999082545720339 | Accuracy: 0.9714285714285714
Epoch: 4818 | Loss: 0.19988811505664336 | Accuracy: 0.9714285714285714
Epoch: 4819 | Loss: 0.19986798176278817 | Accuracy: 0.9714285714285714
Epoch: 4820 | Loss: 0.19984785468756144 | Accuracy: 0.9714285714285714
Epoch: 4821 | Loss: 0.19982773382805769 | Accuracy: 0.9714285714285714
Epoch: 4822 | Loss: 0.19980761918137382 | Accuracy: 0.9714285714285714
Epoch: 4823 | Loss: 0.19978751074460796 | Accuracy: 0.9714285714285714
Epoch: 4824 | Loss: 0.19976740851486044 | Accuracy: 0.9714285714285714
Epoch: 4825 | Loss: 0.19974731248923305 | Accuracy: 0.9714285714285714
Epoch: 4826 | Loss: 0.1997272226648297 | Accuracy: 0.9714285714285714
Epoch: 4827 | Loss: 0.1997071390387558 | Accuracy: 0.9714285714285714
Epoch: 4828 | Loss: 0.19968706160811883 | Accuracy: 0.9714285714285714
Epoch: 4829 | Loss: 0.1996669903700278 | Accuracy: 0.9714285714285714
Epoch: 4830 | Loss: 0.19964692532159356 | Accuracy: 0.9714285714285714
Epoch: 4831 | Loss: 0.19962686645992891 | Accuracy: 0.9714285714285714
Epoch: 4832 | Loss: 0.19960681378214826 | Accuracy: 0.9714285714285714
Epoch: 4833 | Loss: 0.19958676728536773 | Accuracy: 0.9714285714285714
Epoch: 4834 | Loss: 0.1995667269667055 | Accuracy: 0.9714285714285714
Epoch: 4835 | Loss: 0.19954669282328139 | Accuracy: 0.9714285714285714
Epoch: 4836 | Loss: 0.19952666485221682 | Accuracy: 0.9714285714285714
Epoch: 4837 | Loss: 0.19950664305063529 | Accuracy: 0.9714285714285714
Epoch: 4838 | Loss: 0.19948662741566173 | Accuracy: 0.9714285714285714
Epoch: 4839 | Loss: 0.1994666179444232 | Accuracy: 0.9714285714285714
Epoch: 4840 | Loss: 0.19944661463404828 | Accuracy: 0.9714285714285714
Epoch: 4841 | Loss: 0.19942661748166748 | Accuracy: 0.9714285714285714
Epoch: 4842 | Loss: 0.19940662648441296 | Accuracy: 0.9714285714285714
Epoch: 4843 | Loss: 0.19938664163941863 | Accuracy: 0.9714285714285714
Epoch: 4844 | Loss: 0.19936666294382033 | Accuracy: 0.9714285714285714
Epoch: 4845 | Loss: 0.19934669039475542 | Accuracy: 0.9714285714285714
Epoch: 4846 | Loss: 0.19932672398936319 | Accuracy: 0.9714285714285714
Epoch: 4847 | Loss: 0.1993067637247849 | Accuracy: 0.9714285714285714
Epoch: 4848 | Loss: 0.19928680959816303 | Accuracy: 0.9714285714285714
Epoch: 4849 | Loss: 0.1992668616066422 | Accuracy: 0.9714285714285714
Epoch: 4850 | Loss: 0.1992469197473688 | Accuracy: 0.9714285714285714
Epoch: 4851 | Loss: 0.1992269840174907 | Accuracy: 0.9714285714285714
Epoch: 4852 | Loss: 0.19920705441415795 | Accuracy: 0.9714285714285714
Epoch: 4853 | Loss: 0.19918713093452198 | Accuracy: 0.9714285714285714
Epoch: 4854 | Loss: 0.19916721357573605 | Accuracy: 0.9714285714285714
Epoch: 4855 | Loss: 0.19914730233495528 | Accuracy: 0.9714285714285714
Epoch: 4856 | Loss: 0.19912739720933656 | Accuracy: 0.9714285714285714
Epoch: 4857 | Loss: 0.19910749819603824 | Accuracy: 0.9714285714285714
Epoch: 4858 | Loss: 0.1990876052922208 | Accuracy: 0.9714285714285714
Epoch: 4859 | Loss: 0.19906771849504626 | Accuracy: 0.9714285714285714
Epoch: 4860 | Loss: 0.19904783780167845 | Accuracy: 0.9714285714285714
Epoch: 4861 | Loss: 0.19902796320928282 | Accuracy: 0.9714285714285714
Epoch: 4862 | Loss: 0.19900809471502667 | Accuracy: 0.9714285714285714
Epoch: 4863 | Loss: 0.198988232316079 | Accuracy: 0.9714285714285714
Epoch: 4864 | Loss: 0.19896837600961056 | Accuracy: 0.9714285714285714
Epoch: 4865 | Loss: 0.19894852579279404 | Accuracy: 0.9714285714285714
Epoch: 4866 | Loss: 0.19892868166280342 | Accuracy: 0.9714285714285714
Epoch: 4867 | Loss: 0.1989088436168148 | Accuracy: 0.9714285714285714
Epoch: 4868 | Loss: 0.19888901165200576 | Accuracy: 0.9714285714285714
Epoch: 4869 | Loss: 0.19886918576555596 | Accuracy: 0.9714285714285714
Epoch: 4870 | Loss: 0.19884936595464633 | Accuracy: 0.9714285714285714
Epoch: 4871 | Loss: 0.1988295522164598 | Accuracy: 0.9714285714285714
Epoch: 4872 | Loss: 0.19880974454818098 | Accuracy: 0.9714285714285714
Epoch: 4873 | Loss: 0.19878994294699637 | Accuracy: 0.9714285714285714
Epoch: 4874 | Loss: 0.1987701474100939 | Accuracy: 0.9714285714285714
Epoch: 4875 | Loss: 0.1987503579346634 | Accuracy: 0.9714285714285714
Epoch: 4876 | Loss: 0.19873057451789636 | Accuracy: 0.9714285714285714
Epoch: 4877 | Loss: 0.1987107971569861 | Accuracy: 0.9714285714285714
Epoch: 4878 | Loss: 0.19869102584912743 | Accuracy: 0.9714285714285714
Epoch: 4879 | Loss: 0.19867126059151727 | Accuracy: 0.9714285714285714
Epoch: 4880 | Loss: 0.1986515013813537 | Accuracy: 0.9714285714285714
Epoch: 4881 | Loss: 0.19863174821583707 | Accuracy: 0.9714285714285714
Epoch: 4882 | Loss: 0.19861200109216912 | Accuracy: 0.9714285714285714
Epoch: 4883 | Loss: 0.19859226000755342 | Accuracy: 0.9714285714285714
Epoch: 4884 | Loss: 0.19857252495919525 | Accuracy: 0.9714285714285714
Epoch: 4885 | Loss: 0.19855279594430142 | Accuracy: 0.9714285714285714
Epoch: 4886 | Loss: 0.19853307296008077 | Accuracy: 0.9714285714285714
Epoch: 4887 | Loss: 0.19851335600374354 | Accuracy: 0.9714285714285714
Epoch: 4888 | Loss: 0.19849364507250197 | Accuracy: 0.9714285714285714
Epoch: 4889 | Loss: 0.19847394016356976 | Accuracy: 0.9714285714285714
Epoch: 4890 | Loss: 0.19845424127416247 | Accuracy: 0.9714285714285714
Epoch: 4891 | Loss: 0.1984345484014973 | Accuracy: 0.9714285714285714
Epoch: 4892 | Loss: 0.198414861542793 | Accuracy: 0.9714285714285714
Epoch: 4893 | Loss: 0.19839518069527035 | Accuracy: 0.9714285714285714
Epoch: 4894 | Loss: 0.19837550585615168 | Accuracy: 0.9714285714285714
Epoch: 4895 | Loss: 0.1983558370226608 | Accuracy: 0.9714285714285714
Epoch: 4896 | Loss: 0.19833617419202354 | Accuracy: 0.9714285714285714
Epoch: 4897 | Loss: 0.19831651736146727 | Accuracy: 0.9714285714285714
Epoch: 4898 | Loss: 0.1982968665282211 | Accuracy: 0.9714285714285714
Epoch: 4899 | Loss: 0.19827722168951578 | Accuracy: 0.9714285714285714
Epoch: 4900 | Loss: 0.1982575828425838 | Accuracy: 0.9714285714285714
Epoch: 4901 | Loss: 0.19823794998465935 | Accuracy: 0.9714285714285714
Epoch: 4902 | Loss: 0.19821832311297818 | Accuracy: 0.9714285714285714
Epoch: 4903 | Loss: 0.19819870222477798 | Accuracy: 0.9714285714285714
Epoch: 4904 | Loss: 0.19817908731729786 | Accuracy: 0.9714285714285714
Epoch: 4905 | Loss: 0.1981594783877788 | Accuracy: 0.9714285714285714
Epoch: 4906 | Loss: 0.1981398754334633 | Accuracy: 0.9714285714285714
Epoch: 4907 | Loss: 0.1981202784515958 | Accuracy: 0.9714285714285714
Epoch: 4908 | Loss: 0.19810068743942216 | Accuracy: 0.9714285714285714
Epoch: 4909 | Loss: 0.19808110239418994 | Accuracy: 0.9714285714285714
Epoch: 4910 | Loss: 0.1980615233131486 | Accuracy: 0.9714285714285714
Epoch: 4911 | Loss: 0.19804195019354898 | Accuracy: 0.9714285714285714
Epoch: 4912 | Loss: 0.19802238303264402 | Accuracy: 0.9714285714285714
Epoch: 4913 | Loss: 0.19800282182768786 | Accuracy: 0.9714285714285714
Epoch: 4914 | Loss: 0.19798326657593657 | Accuracy: 0.9714285714285714
Epoch: 4915 | Loss: 0.1979637172746479 | Accuracy: 0.9714285714285714
Epoch: 4916 | Loss: 0.1979441739210811 | Accuracy: 0.9714285714285714
Epoch: 4917 | Loss: 0.19792463651249728 | Accuracy: 0.9714285714285714
Epoch: 4918 | Loss: 0.19790510504615913 | Accuracy: 0.9714285714285714
Epoch: 4919 | Loss: 0.19788557951933106 | Accuracy: 0.9714285714285714
Epoch: 4920 | Loss: 0.19786605992927908 | Accuracy: 0.9714285714285714
Epoch: 4921 | Loss: 0.1978465462732708 | Accuracy: 0.9714285714285714
Epoch: 4922 | Loss: 0.19782703854857575 | Accuracy: 0.9714285714285714
Epoch: 4923 | Loss: 0.19780753675246493 | Accuracy: 0.9714285714285714
Epoch: 4924 | Loss: 0.19778804088221094 | Accuracy: 0.9714285714285714
Epoch: 4925 | Loss: 0.19776855093508816 | Accuracy: 0.9714285714285714
Epoch: 4926 | Loss: 0.19774906690837268 | Accuracy: 0.9714285714285714
Epoch: 4927 | Loss: 0.19772958879934208 | Accuracy: 0.9714285714285714
Epoch: 4928 | Loss: 0.19771011660527577 | Accuracy: 0.9714285714285714
Epoch: 4929 | Loss: 0.19769065032345462 | Accuracy: 0.9714285714285714
Epoch: 4930 | Loss: 0.1976711899511614 | Accuracy: 0.9714285714285714
Epoch: 4931 | Loss: 0.19765173548568019 | Accuracy: 0.9714285714285714
Epoch: 4932 | Loss: 0.19763228692429713 | Accuracy: 0.9714285714285714
Epoch: 4933 | Loss: 0.1976128442642998 | Accuracy: 0.9714285714285714
Epoch: 4934 | Loss: 0.19759340750297727 | Accuracy: 0.9714285714285714
Epoch: 4935 | Loss: 0.19757397663762047 | Accuracy: 0.9714285714285714
Epoch: 4936 | Loss: 0.1975545516655221 | Accuracy: 0.9714285714285714
Epoch: 4937 | Loss: 0.1975351325839761 | Accuracy: 0.9714285714285714
Epoch: 4938 | Loss: 0.19751571939027843 | Accuracy: 0.9714285714285714
Epoch: 4939 | Loss: 0.19749631208172652 | Accuracy: 0.9714285714285714
Epoch: 4940 | Loss: 0.19747691065561948 | Accuracy: 0.9714285714285714
Epoch: 4941 | Loss: 0.19745751510925802 | Accuracy: 0.9714285714285714
Epoch: 4942 | Loss: 0.19743812543994463 | Accuracy: 0.9714285714285714
Epoch: 4943 | Loss: 0.1974187416449832 | Accuracy: 0.9714285714285714
Epoch: 4944 | Loss: 0.19739936372167935 | Accuracy: 0.9714285714285714
Epoch: 4945 | Loss: 0.19737999166734058 | Accuracy: 0.9714285714285714
Epoch: 4946 | Loss: 0.19736062547927552 | Accuracy: 0.9714285714285714
Epoch: 4947 | Loss: 0.19734126515479503 | Accuracy: 0.9714285714285714
Epoch: 4948 | Loss: 0.19732191069121113 | Accuracy: 0.9714285714285714
Epoch: 4949 | Loss: 0.19730256208583755 | Accuracy: 0.9714285714285714
Epoch: 4950 | Loss: 0.19728321933599005 | Accuracy: 0.9714285714285714
Epoch: 4951 | Loss: 0.1972638824389854 | Accuracy: 0.9714285714285714
Epoch: 4952 | Loss: 0.19724455139214234 | Accuracy: 0.9714285714285714
Epoch: 4953 | Loss: 0.19722522619278138 | Accuracy: 0.9714285714285714
Epoch: 4954 | Loss: 0.1972059068382244 | Accuracy: 0.9714285714285714
Epoch: 4955 | Loss: 0.19718659332579477 | Accuracy: 0.9714285714285714
Epoch: 4956 | Loss: 0.197167285652818 | Accuracy: 0.9714285714285714
Epoch: 4957 | Loss: 0.1971479838166206 | Accuracy: 0.9714285714285714
Epoch: 4958 | Loss: 0.1971286878145313 | Accuracy: 0.9714285714285714
Epoch: 4959 | Loss: 0.19710939764388 | Accuracy: 0.9714285714285714
Epoch: 4960 | Loss: 0.19709011330199835 | Accuracy: 0.9714285714285714
Epoch: 4961 | Loss: 0.19707083478621962 | Accuracy: 0.9714285714285714
Epoch: 4962 | Loss: 0.1970515620938789 | Accuracy: 0.9714285714285714
Epoch: 4963 | Loss: 0.19703229522231241 | Accuracy: 0.9714285714285714
Epoch: 4964 | Loss: 0.19701303416885857 | Accuracy: 0.9714285714285714
Epoch: 4965 | Loss: 0.19699377893085687 | Accuracy: 0.9714285714285714
Epoch: 4966 | Loss: 0.19697452950564884 | Accuracy: 0.9714285714285714
Epoch: 4967 | Loss: 0.1969552858905773 | Accuracy: 0.9714285714285714
Epoch: 4968 | Loss: 0.19693604808298698 | Accuracy: 0.9714285714285714
Epoch: 4969 | Loss: 0.19691681608022385 | Accuracy: 0.9714285714285714
Epoch: 4970 | Loss: 0.19689758987963576 | Accuracy: 0.9714285714285714
Epoch: 4971 | Loss: 0.1968783694785722 | Accuracy: 0.9714285714285714
Epoch: 4972 | Loss: 0.19685915487438393 | Accuracy: 0.9714285714285714
Epoch: 4973 | Loss: 0.19683994606442368 | Accuracy: 0.9714285714285714
Epoch: 4974 | Loss: 0.19682074304604563 | Accuracy: 0.9714285714285714
Epoch: 4975 | Loss: 0.1968015458166055 | Accuracy: 0.9714285714285714
Epoch: 4976 | Loss: 0.19678235437346073 | Accuracy: 0.9714285714285714
Epoch: 4977 | Loss: 0.19676316871397015 | Accuracy: 0.9714285714285714
Epoch: 4978 | Loss: 0.19674398883549452 | Accuracy: 0.9714285714285714
Epoch: 4979 | Loss: 0.19672481473539583 | Accuracy: 0.9714285714285714
Epoch: 4980 | Loss: 0.19670564641103802 | Accuracy: 0.9714285714285714
Epoch: 4981 | Loss: 0.19668648385978627 | Accuracy: 0.9714285714285714
Epoch: 4982 | Loss: 0.19666732707900758 | Accuracy: 0.9714285714285714
Epoch: 4983 | Loss: 0.19664817606607046 | Accuracy: 0.9714285714285714
Epoch: 4984 | Loss: 0.19662903081834499 | Accuracy: 0.9714285714285714
Epoch: 4985 | Loss: 0.19660989133320297 | Accuracy: 0.9714285714285714
Epoch: 4986 | Loss: 0.19659075760801759 | Accuracy: 0.9714285714285714
Epoch: 4987 | Loss: 0.19657162964016375 | Accuracy: 0.9714285714285714
Epoch: 4988 | Loss: 0.196552507427018 | Accuracy: 0.9714285714285714
Epoch: 4989 | Loss: 0.19653339096595826 | Accuracy: 0.9714285714285714
Epoch: 4990 | Loss: 0.19651428025436415 | Accuracy: 0.9714285714285714
Epoch: 4991 | Loss: 0.19649517528961685 | Accuracy: 0.9714285714285714
Epoch: 4992 | Loss: 0.19647607606909925 | Accuracy: 0.9714285714285714
Epoch: 4993 | Loss: 0.19645698259019553 | Accuracy: 0.9714285714285714
Epoch: 4994 | Loss: 0.19643789485029178 | Accuracy: 0.9714285714285714
Epoch: 4995 | Loss: 0.19641881284677545 | Accuracy: 0.9714285714285714
Epoch: 4996 | Loss: 0.19639973657703555 | Accuracy: 0.9714285714285714
Epoch: 4997 | Loss: 0.19638066603846283 | Accuracy: 0.9714285714285714
Epoch: 4998 | Loss: 0.1963616012284494 | Accuracy: 0.9714285714285714
Epoch: 4999 | Loss: 0.1963425421443892 | Accuracy: 0.9714285714285714
Epoch: 5000 | Loss: 0.19632348878367745 | Accuracy: 0.9714285714285714
In [7]:
calculate_accuracy(model(X_test), y_test)
Out[7]:
0.9777777777777777
In [8]:
model = nn.Sequential(
    nn.Linear(4, 3),
    )
optimizer = optim.SGD(model.parameters(), lr=1e-2)
criterion = nn.CrossEntropyLoss()
In [9]:
train_model_torch(torch.tensor(X_train).float(), torch.tensor(y_train).long(), model, optimizer, criterion, 5000)
: 0.19455954432487488 | Accuracy: 0.9714285731315613
Epoch: 4719 | Loss: 0.19453993439674377 | Accuracy: 0.9714285731315613
Epoch: 4720 | Loss: 0.1945202648639679 | Accuracy: 0.9714285731315613
Epoch: 4721 | Loss: 0.19450058043003082 | Accuracy: 0.9714285731315613
Epoch: 4722 | Loss: 0.19448089599609375 | Accuracy: 0.9714285731315613
Epoch: 4723 | Loss: 0.19446127116680145 | Accuracy: 0.9714285731315613
Epoch: 4724 | Loss: 0.19444169104099274 | Accuracy: 0.9714285731315613
Epoch: 4725 | Loss: 0.19442208111286163 | Accuracy: 0.9714285731315613
Epoch: 4726 | Loss: 0.19440235197544098 | Accuracy: 0.9714285731315613
Epoch: 4727 | Loss: 0.19438280165195465 | Accuracy: 0.9714285731315613
Epoch: 4728 | Loss: 0.19436323642730713 | Accuracy: 0.9714285731315613
Epoch: 4729 | Loss: 0.19434362649917603 | Accuracy: 0.9714285731315613
Epoch: 4730 | Loss: 0.1943240761756897 | Accuracy: 0.9714285731315613
Epoch: 4731 | Loss: 0.1943044513463974 | Accuracy: 0.9714285731315613
Epoch: 4732 | Loss: 0.1942848265171051 | Accuracy: 0.9714285731315613
Epoch: 4733 | Loss: 0.19426527619361877 | Accuracy: 0.9714285731315613
Epoch: 4734 | Loss: 0.19424565136432648 | Accuracy: 0.9714285731315613
Epoch: 4735 | Loss: 0.19422614574432373 | Accuracy: 0.9714285731315613
Epoch: 4736 | Loss: 0.19420655071735382 | Accuracy: 0.9714285731315613
Epoch: 4737 | Loss: 0.1941869854927063 | Accuracy: 0.9714285731315613
Epoch: 4738 | Loss: 0.19416747987270355 | Accuracy: 0.9714285731315613
Epoch: 4739 | Loss: 0.1941479593515396 | Accuracy: 0.9714285731315613
Epoch: 4740 | Loss: 0.1941283941268921 | Accuracy: 0.9714285731315613
Epoch: 4741 | Loss: 0.19410890340805054 | Accuracy: 0.9714285731315613
Epoch: 4742 | Loss: 0.19408941268920898 | Accuracy: 0.9714285731315613
Epoch: 4743 | Loss: 0.19406984746456146 | Accuracy: 0.9714285731315613
Epoch: 4744 | Loss: 0.19405032694339752 | Accuracy: 0.9714285731315613
Epoch: 4745 | Loss: 0.19403076171875 | Accuracy: 0.9714285731315613
Epoch: 4746 | Loss: 0.19401130080223083 | Accuracy: 0.9714285731315613
Epoch: 4747 | Loss: 0.19399186968803406 | Accuracy: 0.9714285731315613
Epoch: 4748 | Loss: 0.1939723938703537 | Accuracy: 0.9714285731315613
Epoch: 4749 | Loss: 0.19395290315151215 | Accuracy: 0.9714285731315613
Epoch: 4750 | Loss: 0.19393348693847656 | Accuracy: 0.9714285731315613
Epoch: 4751 | Loss: 0.1939140111207962 | Accuracy: 0.9714285731315613
Epoch: 4752 | Loss: 0.19389449059963226 | Accuracy: 0.9714285731315613
Epoch: 4753 | Loss: 0.1938750296831131 | Accuracy: 0.9714285731315613
Epoch: 4754 | Loss: 0.19385558366775513 | Accuracy: 0.9714285731315613
Epoch: 4755 | Loss: 0.19383615255355835 | Accuracy: 0.9714285731315613
Epoch: 4756 | Loss: 0.19381675124168396 | Accuracy: 0.9714285731315613
Epoch: 4757 | Loss: 0.19379734992980957 | Accuracy: 0.9714285731315613
Epoch: 4758 | Loss: 0.1937779188156128 | Accuracy: 0.9714285731315613
Epoch: 4759 | Loss: 0.1937585026025772 | Accuracy: 0.9714285731315613
Epoch: 4760 | Loss: 0.1937391608953476 | Accuracy: 0.9714285731315613
Epoch: 4761 | Loss: 0.19371964037418365 | Accuracy: 0.9714285731315613
Epoch: 4762 | Loss: 0.19370035827159882 | Accuracy: 0.9714285731315613
Epoch: 4763 | Loss: 0.19368097186088562 | Accuracy: 0.9714285731315613
Epoch: 4764 | Loss: 0.19366155564785004 | Accuracy: 0.9714285731315613
Epoch: 4765 | Loss: 0.19364218413829803 | Accuracy: 0.9714285731315613
Epoch: 4766 | Loss: 0.19362284243106842 | Accuracy: 0.9714285731315613
Epoch: 4767 | Loss: 0.19360341131687164 | Accuracy: 0.9714285731315613
Epoch: 4768 | Loss: 0.19358409941196442 | Accuracy: 0.9714285731315613
Epoch: 4769 | Loss: 0.1935647577047348 | Accuracy: 0.9714285731315613
Epoch: 4770 | Loss: 0.1935454159975052 | Accuracy: 0.9714285731315613
Epoch: 4771 | Loss: 0.19352608919143677 | Accuracy: 0.9714285731315613
Epoch: 4772 | Loss: 0.19350676238536835 | Accuracy: 0.9714285731315613
Epoch: 4773 | Loss: 0.1934874802827835 | Accuracy: 0.9714285731315613
Epoch: 4774 | Loss: 0.1934681087732315 | Accuracy: 0.9714285731315613
Epoch: 4775 | Loss: 0.1934487521648407 | Accuracy: 0.9714285731315613
Epoch: 4776 | Loss: 0.19342945516109467 | Accuracy: 0.9714285731315613
Epoch: 4777 | Loss: 0.19341020286083221 | Accuracy: 0.9714285731315613
Epoch: 4778 | Loss: 0.19339096546173096 | Accuracy: 0.9714285731315613
Epoch: 4779 | Loss: 0.19337163865566254 | Accuracy: 0.9714285731315613
Epoch: 4780 | Loss: 0.19335231184959412 | Accuracy: 0.9714285731315613
Epoch: 4781 | Loss: 0.19333301484584808 | Accuracy: 0.9714285731315613
Epoch: 4782 | Loss: 0.19331377744674683 | Accuracy: 0.9714285731315613
Epoch: 4783 | Loss: 0.193294495344162 | Accuracy: 0.9714285731315613
Epoch: 4784 | Loss: 0.19327525794506073 | Accuracy: 0.9714285731315613
Epoch: 4785 | Loss: 0.19325603544712067 | Accuracy: 0.9714285731315613
Epoch: 4786 | Loss: 0.1932368278503418 | Accuracy: 0.9714285731315613
Epoch: 4787 | Loss: 0.19321750104427338 | Accuracy: 0.9714285731315613
Epoch: 4788 | Loss: 0.19319835305213928 | Accuracy: 0.9714285731315613
Epoch: 4789 | Loss: 0.19317908585071564 | Accuracy: 0.9714285731315613
Epoch: 4790 | Loss: 0.19315987825393677 | Accuracy: 0.9714285731315613
Epoch: 4791 | Loss: 0.1931406706571579 | Accuracy: 0.9714285731315613
Epoch: 4792 | Loss: 0.19312143325805664 | Accuracy: 0.9714285731315613
Epoch: 4793 | Loss: 0.19310224056243896 | Accuracy: 0.9714285731315613
Epoch: 4794 | Loss: 0.19308312237262726 | Accuracy: 0.9714285731315613
Epoch: 4795 | Loss: 0.1930638700723648 | Accuracy: 0.9714285731315613
Epoch: 4796 | Loss: 0.19304469227790833 | Accuracy: 0.9714285731315613
Epoch: 4797 | Loss: 0.19302555918693542 | Accuracy: 0.9714285731315613
Epoch: 4798 | Loss: 0.19300633668899536 | Accuracy: 0.9714285731315613
Epoch: 4799 | Loss: 0.19298717379570007 | Accuracy: 0.9714285731315613
Epoch: 4800 | Loss: 0.19296807050704956 | Accuracy: 0.9714285731315613
Epoch: 4801 | Loss: 0.19294887781143188 | Accuracy: 0.9714285731315613
Epoch: 4802 | Loss: 0.1929297149181366 | Accuracy: 0.9714285731315613
Epoch: 4803 | Loss: 0.19291062653064728 | Accuracy: 0.9714285731315613
Epoch: 4804 | Loss: 0.19289147853851318 | Accuracy: 0.9714285731315613
Epoch: 4805 | Loss: 0.1928722858428955 | Accuracy: 0.9714285731315613
Epoch: 4806 | Loss: 0.19285321235656738 | Accuracy: 0.9714285731315613
Epoch: 4807 | Loss: 0.19283409416675568 | Accuracy: 0.9714285731315613
Epoch: 4808 | Loss: 0.19281502068042755 | Accuracy: 0.9714285731315613
Epoch: 4809 | Loss: 0.19279585778713226 | Accuracy: 0.9714285731315613
Epoch: 4810 | Loss: 0.19277681410312653 | Accuracy: 0.9714285731315613
Epoch: 4811 | Loss: 0.192757710814476 | Accuracy: 0.9714285731315613
Epoch: 4812 | Loss: 0.1927386373281479 | Accuracy: 0.9714285731315613
Epoch: 4813 | Loss: 0.19271953403949738 | Accuracy: 0.9714285731315613
Epoch: 4814 | Loss: 0.19270049035549164 | Accuracy: 0.9714285731315613
Epoch: 4815 | Loss: 0.1926814168691635 | Accuracy: 0.9714285731315613
Epoch: 4816 | Loss: 0.19266241788864136 | Accuracy: 0.9714285731315613
Epoch: 4817 | Loss: 0.19264329969882965 | Accuracy: 0.9714285731315613
Epoch: 4818 | Loss: 0.1926243007183075 | Accuracy: 0.9714285731315613
Epoch: 4819 | Loss: 0.19260519742965698 | Accuracy: 0.9714285731315613
Epoch: 4820 | Loss: 0.19258621335029602 | Accuracy: 0.9714285731315613
Epoch: 4821 | Loss: 0.1925671547651291 | Accuracy: 0.9714285731315613
Epoch: 4822 | Loss: 0.19254815578460693 | Accuracy: 0.9714285731315613
Epoch: 4823 | Loss: 0.1925291121006012 | Accuracy: 0.9714285731315613
Epoch: 4824 | Loss: 0.19251009821891785 | Accuracy: 0.9714285731315613
Epoch: 4825 | Loss: 0.19249117374420166 | Accuracy: 0.9714285731315613
Epoch: 4826 | Loss: 0.19247211515903473 | Accuracy: 0.9714285731315613
Epoch: 4827 | Loss: 0.19245308637619019 | Accuracy: 0.9714285731315613
Epoch: 4828 | Loss: 0.192434161901474 | Accuracy: 0.9714285731315613
Epoch: 4829 | Loss: 0.19241516292095184 | Accuracy: 0.9714285731315613
Epoch: 4830 | Loss: 0.19239619374275208 | Accuracy: 0.9714285731315613
Epoch: 4831 | Loss: 0.1923772245645523 | Accuracy: 0.9714285731315613
Epoch: 4832 | Loss: 0.19235828518867493 | Accuracy: 0.9714285731315613
Epoch: 4833 | Loss: 0.19233933091163635 | Accuracy: 0.9714285731315613
Epoch: 4834 | Loss: 0.19232036173343658 | Accuracy: 0.9714285731315613
Epoch: 4835 | Loss: 0.1923014372587204 | Accuracy: 0.9714285731315613
Epoch: 4836 | Loss: 0.19228248298168182 | Accuracy: 0.9714285731315613
Epoch: 4837 | Loss: 0.1922636181116104 | Accuracy: 0.9714285731315613
Epoch: 4838 | Loss: 0.19224460422992706 | Accuracy: 0.9714285731315613
Epoch: 4839 | Loss: 0.19222573935985565 | Accuracy: 0.9714285731315613
Epoch: 4840 | Loss: 0.19220678508281708 | Accuracy: 0.9714285731315613
Epoch: 4841 | Loss: 0.19218799471855164 | Accuracy: 0.9714285731315613
Epoch: 4842 | Loss: 0.19216901063919067 | Accuracy: 0.9714285731315613
Epoch: 4843 | Loss: 0.19215011596679688 | Accuracy: 0.9714285731315613
Epoch: 4844 | Loss: 0.1921311467885971 | Accuracy: 0.9714285731315613
Epoch: 4845 | Loss: 0.19211235642433167 | Accuracy: 0.9714285731315613
Epoch: 4846 | Loss: 0.19209347665309906 | Accuracy: 0.9714285731315613
Epoch: 4847 | Loss: 0.19207456707954407 | Accuracy: 0.9714285731315613
Epoch: 4848 | Loss: 0.19205574691295624 | Accuracy: 0.9714285731315613
Epoch: 4849 | Loss: 0.19203683733940125 | Accuracy: 0.9714285731315613
Epoch: 4850 | Loss: 0.19201800227165222 | Accuracy: 0.9714285731315613
Epoch: 4851 | Loss: 0.1919991672039032 | Accuracy: 0.9714285731315613
Epoch: 4852 | Loss: 0.19198034703731537 | Accuracy: 0.9714285731315613
Epoch: 4853 | Loss: 0.19196145236492157 | Accuracy: 0.9714285731315613
Epoch: 4854 | Loss: 0.19194269180297852 | Accuracy: 0.9714285731315613
Epoch: 4855 | Loss: 0.1919238269329071 | Accuracy: 0.9714285731315613
Epoch: 4856 | Loss: 0.19190503656864166 | Accuracy: 0.9714285731315613
Epoch: 4857 | Loss: 0.19188624620437622 | Accuracy: 0.9714285731315613
Epoch: 4858 | Loss: 0.19186744093894958 | Accuracy: 0.9714285731315613
Epoch: 4859 | Loss: 0.19184865057468414 | Accuracy: 0.9714285731315613
Epoch: 4860 | Loss: 0.19182981550693512 | Accuracy: 0.9714285731315613
Epoch: 4861 | Loss: 0.19181108474731445 | Accuracy: 0.9714285731315613
Epoch: 4862 | Loss: 0.19179224967956543 | Accuracy: 0.9714285731315613
Epoch: 4863 | Loss: 0.19177348911762238 | Accuracy: 0.9714285731315613
Epoch: 4864 | Loss: 0.19175469875335693 | Accuracy: 0.9714285731315613
Epoch: 4865 | Loss: 0.19173595309257507 | Accuracy: 0.9714285731315613
Epoch: 4866 | Loss: 0.1917172372341156 | Accuracy: 0.9714285731315613
Epoch: 4867 | Loss: 0.19169847667217255 | Accuracy: 0.9714285731315613
Epoch: 4868 | Loss: 0.1916797161102295 | Accuracy: 0.9714285731315613
Epoch: 4869 | Loss: 0.19166098535060883 | Accuracy: 0.9714285731315613
Epoch: 4870 | Loss: 0.19164223968982697 | Accuracy: 0.9714285731315613
Epoch: 4871 | Loss: 0.1916235089302063 | Accuracy: 0.9714285731315613
Epoch: 4872 | Loss: 0.1916048377752304 | Accuracy: 0.9714285731315613
Epoch: 4873 | Loss: 0.19158604741096497 | Accuracy: 0.9714285731315613
Epoch: 4874 | Loss: 0.19156737625598907 | Accuracy: 0.9714285731315613
Epoch: 4875 | Loss: 0.19154863059520721 | Accuracy: 0.9714285731315613
Epoch: 4876 | Loss: 0.19152989983558655 | Accuracy: 0.9714285731315613
Epoch: 4877 | Loss: 0.19151130318641663 | Accuracy: 0.9714285731315613
Epoch: 4878 | Loss: 0.19149266183376312 | Accuracy: 0.9714285731315613
Epoch: 4879 | Loss: 0.19147391617298126 | Accuracy: 0.9714285731315613
Epoch: 4880 | Loss: 0.19145524501800537 | Accuracy: 0.9714285731315613
Epoch: 4881 | Loss: 0.19143660366535187 | Accuracy: 0.9714285731315613
Epoch: 4882 | Loss: 0.19141800701618195 | Accuracy: 0.9714285731315613
Epoch: 4883 | Loss: 0.19139929115772247 | Accuracy: 0.9714285731315613
Epoch: 4884 | Loss: 0.1913806051015854 | Accuracy: 0.9714285731315613
Epoch: 4885 | Loss: 0.19136196374893188 | Accuracy: 0.9714285731315613
Epoch: 4886 | Loss: 0.1913433074951172 | Accuracy: 0.9714285731315613
Epoch: 4887 | Loss: 0.19132471084594727 | Accuracy: 0.9714285731315613
Epoch: 4888 | Loss: 0.19130605459213257 | Accuracy: 0.9714285731315613
Epoch: 4889 | Loss: 0.19128742814064026 | Accuracy: 0.9714285731315613
Epoch: 4890 | Loss: 0.19126881659030914 | Accuracy: 0.9714285731315613
Epoch: 4891 | Loss: 0.1912502497434616 | Accuracy: 0.9714285731315613
Epoch: 4892 | Loss: 0.1912316083908081 | Accuracy: 0.9714285731315613
Epoch: 4893 | Loss: 0.19121305644512177 | Accuracy: 0.9714285731315613
Epoch: 4894 | Loss: 0.19119444489479065 | Accuracy: 0.9714285731315613
Epoch: 4895 | Loss: 0.19117581844329834 | Accuracy: 0.9714285731315613
Epoch: 4896 | Loss: 0.19115732610225677 | Accuracy: 0.9714285731315613
Epoch: 4897 | Loss: 0.19113869965076447 | Accuracy: 0.9714285731315613
Epoch: 4898 | Loss: 0.19112016260623932 | Accuracy: 0.9714285731315613
Epoch: 4899 | Loss: 0.19110159575939178 | Accuracy: 0.9714285731315613
Epoch: 4900 | Loss: 0.19108302891254425 | Accuracy: 0.9714285731315613
Epoch: 4901 | Loss: 0.1910644918680191 | Accuracy: 0.9714285731315613
Epoch: 4902 | Loss: 0.19104592502117157 | Accuracy: 0.9714285731315613
Epoch: 4903 | Loss: 0.19102737307548523 | Accuracy: 0.9714285731315613
Epoch: 4904 | Loss: 0.19100886583328247 | Accuracy: 0.9714285731315613
Epoch: 4905 | Loss: 0.19099031388759613 | Accuracy: 0.9714285731315613
Epoch: 4906 | Loss: 0.19097185134887695 | Accuracy: 0.9714285731315613
Epoch: 4907 | Loss: 0.1909533590078354 | Accuracy: 0.9714285731315613
Epoch: 4908 | Loss: 0.19093483686447144 | Accuracy: 0.9714285731315613
Epoch: 4909 | Loss: 0.1909162849187851 | Accuracy: 0.9714285731315613
Epoch: 4910 | Loss: 0.19089780747890472 | Accuracy: 0.9714285731315613
Epoch: 4911 | Loss: 0.19087930023670197 | Accuracy: 0.9714285731315613
Epoch: 4912 | Loss: 0.1908608227968216 | Accuracy: 0.9714285731315613
Epoch: 4913 | Loss: 0.1908424198627472 | Accuracy: 0.9714285731315613
Epoch: 4914 | Loss: 0.19082386791706085 | Accuracy: 0.9714285731315613
Epoch: 4915 | Loss: 0.19080540537834167 | Accuracy: 0.9714285731315613
Epoch: 4916 | Loss: 0.1907869130373001 | Accuracy: 0.9714285731315613
Epoch: 4917 | Loss: 0.19076843559741974 | Accuracy: 0.9714285731315613
Epoch: 4918 | Loss: 0.19075006246566772 | Accuracy: 0.9714285731315613
Epoch: 4919 | Loss: 0.19073162972927094 | Accuracy: 0.9714285731315613
Epoch: 4920 | Loss: 0.19071313738822937 | Accuracy: 0.9714285731315613
Epoch: 4921 | Loss: 0.19069471955299377 | Accuracy: 0.9714285731315613
Epoch: 4922 | Loss: 0.19067633152008057 | Accuracy: 0.9714285731315613
Epoch: 4923 | Loss: 0.19065789878368378 | Accuracy: 0.9714285731315613
Epoch: 4924 | Loss: 0.1906394362449646 | Accuracy: 0.9714285731315613
Epoch: 4925 | Loss: 0.19062106311321259 | Accuracy: 0.9714285731315613
Epoch: 4926 | Loss: 0.19060270488262177 | Accuracy: 0.9714285731315613
Epoch: 4927 | Loss: 0.19058431684970856 | Accuracy: 0.9714285731315613
Epoch: 4928 | Loss: 0.19056588411331177 | Accuracy: 0.9714285731315613
Epoch: 4929 | Loss: 0.19054746627807617 | Accuracy: 0.9714285731315613
Epoch: 4930 | Loss: 0.19052910804748535 | Accuracy: 0.9714285731315613
Epoch: 4931 | Loss: 0.19051077961921692 | Accuracy: 0.9714285731315613
Epoch: 4932 | Loss: 0.1904924064874649 | Accuracy: 0.9714285731315613
Epoch: 4933 | Loss: 0.1904739886522293 | Accuracy: 0.9714285731315613
Epoch: 4934 | Loss: 0.1904556304216385 | Accuracy: 0.9714285731315613
Epoch: 4935 | Loss: 0.19043733179569244 | Accuracy: 0.9714285731315613
Epoch: 4936 | Loss: 0.19041891396045685 | Accuracy: 0.9714285731315613
Epoch: 4937 | Loss: 0.1904006004333496 | Accuracy: 0.9714285731315613
Epoch: 4938 | Loss: 0.19038227200508118 | Accuracy: 0.9714285731315613
Epoch: 4939 | Loss: 0.19036389887332916 | Accuracy: 0.9714285731315613
Epoch: 4940 | Loss: 0.19034560024738312 | Accuracy: 0.9714285731315613
Epoch: 4941 | Loss: 0.19032728672027588 | Accuracy: 0.9714285731315613
Epoch: 4942 | Loss: 0.19030903279781342 | Accuracy: 0.9714285731315613
Epoch: 4943 | Loss: 0.19029076397418976 | Accuracy: 0.9714285731315613
Epoch: 4944 | Loss: 0.19027240574359894 | Accuracy: 0.9714285731315613
Epoch: 4945 | Loss: 0.19025415182113647 | Accuracy: 0.9714285731315613
Epoch: 4946 | Loss: 0.19023582339286804 | Accuracy: 0.9714285731315613
Epoch: 4947 | Loss: 0.1902174949645996 | Accuracy: 0.9714285731315613
Epoch: 4948 | Loss: 0.19019924104213715 | Accuracy: 0.9714285731315613
Epoch: 4949 | Loss: 0.1901809722185135 | Accuracy: 0.9714285731315613
Epoch: 4950 | Loss: 0.19016273319721222 | Accuracy: 0.9714285731315613
Epoch: 4951 | Loss: 0.19014443457126617 | Accuracy: 0.9714285731315613
Epoch: 4952 | Loss: 0.1901262253522873 | Accuracy: 0.9714285731315613
Epoch: 4953 | Loss: 0.19010794162750244 | Accuracy: 0.9714285731315613
Epoch: 4954 | Loss: 0.19008968770503998 | Accuracy: 0.9714285731315613
Epoch: 4955 | Loss: 0.1900714933872223 | Accuracy: 0.9714285731315613
Epoch: 4956 | Loss: 0.19005322456359863 | Accuracy: 0.9714285731315613
Epoch: 4957 | Loss: 0.19003501534461975 | Accuracy: 0.9714285731315613
Epoch: 4958 | Loss: 0.19001685082912445 | Accuracy: 0.9714285731315613
Epoch: 4959 | Loss: 0.1899985671043396 | Accuracy: 0.9714285731315613
Epoch: 4960 | Loss: 0.1899803876876831 | Accuracy: 0.9714285731315613
Epoch: 4961 | Loss: 0.18996216356754303 | Accuracy: 0.9714285731315613
Epoch: 4962 | Loss: 0.18994402885437012 | Accuracy: 0.9714285731315613
Epoch: 4963 | Loss: 0.18992581963539124 | Accuracy: 0.9714285731315613
Epoch: 4964 | Loss: 0.18990762531757355 | Accuracy: 0.9714285731315613
Epoch: 4965 | Loss: 0.18988940119743347 | Accuracy: 0.9714285731315613
Epoch: 4966 | Loss: 0.18987122178077698 | Accuracy: 0.9714285731315613
Epoch: 4967 | Loss: 0.18985308706760406 | Accuracy: 0.9714285731315613
Epoch: 4968 | Loss: 0.18983492255210876 | Accuracy: 0.9714285731315613
Epoch: 4969 | Loss: 0.18981683254241943 | Accuracy: 0.9714285731315613
Epoch: 4970 | Loss: 0.18979860842227936 | Accuracy: 0.9714285731315613
Epoch: 4971 | Loss: 0.18978047370910645 | Accuracy: 0.9714285731315613
Epoch: 4972 | Loss: 0.18976233899593353 | Accuracy: 0.9714285731315613
Epoch: 4973 | Loss: 0.18974421918392181 | Accuracy: 0.9714285731315613
Epoch: 4974 | Loss: 0.1897261142730713 | Accuracy: 0.9714285731315613
Epoch: 4975 | Loss: 0.1897079348564148 | Accuracy: 0.9714285731315613
Epoch: 4976 | Loss: 0.18968981504440308 | Accuracy: 0.9714285731315613
Epoch: 4977 | Loss: 0.18967172503471375 | Accuracy: 0.9714285731315613
Epoch: 4978 | Loss: 0.18965363502502441 | Accuracy: 0.9714285731315613
Epoch: 4979 | Loss: 0.18963554501533508 | Accuracy: 0.9714285731315613
Epoch: 4980 | Loss: 0.18961741030216217 | Accuracy: 0.9714285731315613
Epoch: 4981 | Loss: 0.18959933519363403 | Accuracy: 0.9714285731315613
Epoch: 4982 | Loss: 0.1895812749862671 | Accuracy: 0.9714285731315613
Epoch: 4983 | Loss: 0.18956317007541656 | Accuracy: 0.9714285731315613
Epoch: 4984 | Loss: 0.18954506516456604 | Accuracy: 0.9714285731315613
Epoch: 4985 | Loss: 0.18952706456184387 | Accuracy: 0.9714285731315613
Epoch: 4986 | Loss: 0.18950900435447693 | Accuracy: 0.9714285731315613
Epoch: 4987 | Loss: 0.1894909143447876 | Accuracy: 0.9714285731315613
Epoch: 4988 | Loss: 0.18947286903858185 | Accuracy: 0.9714285731315613
Epoch: 4989 | Loss: 0.1894548535346985 | Accuracy: 0.9714285731315613
Epoch: 4990 | Loss: 0.18943680822849274 | Accuracy: 0.9714285731315613
Epoch: 4991 | Loss: 0.1894187331199646 | Accuracy: 0.9714285731315613
Epoch: 4992 | Loss: 0.18940074741840363 | Accuracy: 0.9714285731315613
Epoch: 4993 | Loss: 0.18938270211219788 | Accuracy: 0.9714285731315613
Epoch: 4994 | Loss: 0.1893647164106369 | Accuracy: 0.9714285731315613
Epoch: 4995 | Loss: 0.18934670090675354 | Accuracy: 0.9714285731315613
Epoch: 4996 | Loss: 0.18932870030403137 | Accuracy: 0.9714285731315613
Epoch: 4997 | Loss: 0.18931065499782562 | Accuracy: 0.9714285731315613
Epoch: 4998 | Loss: 0.18929272890090942 | Accuracy: 0.9714285731315613
Epoch: 4999 | Loss: 0.18927472829818726 | Accuracy: 0.9714285731315613
Epoch: 5000 | Loss: 0.18925675749778748 | Accuracy: 0.9714285731315613
In [10]:
calculate_accuracy_torch(model(torch.tensor(X_test).float()), torch.tensor(y_test).long()).item()
Out[10]:
0.9777777791023254
In [11]:
def colored_dots(y):
    colors = ("red", "blue")
    colored_y = np.zeros(y.size, dtype=str)

    for i, cl in enumerate([0,1]):
        colored_y[y == cl] = str(colors[i])
    return colored_y
In [12]:
def plot_graph(X, y):
    plt.figure(figsize=(15,10))
    plt.scatter(X[:, 0], X[:, 1], c=colored_dots(y))
    plt.show()
In [13]:
def plot_colored_graph(model, X, y, eps=0.1):
    plt.figure(figsize=(15,8))

    xx, yy = np.meshgrid(np.linspace(np.min(X[:,0]) - eps, np.max(X[:,0]) + eps, 200),
                        np.linspace(np.min(X[:,1]) - eps, np.max(X[:,1]) + eps, 200))
    Z = np.argmax(model(np.c_[xx.ravel(), yy.ravel()]), axis=1)
    Z = Z.reshape(xx.shape)
    cmap_light = ListedColormap(['#FFAAAA', '#AAAAFF'])
    plt.pcolormesh(xx, yy, Z, cmap=cmap_light)

    plt.scatter(X[:, 0], X[:, 1], c=colored_dots(y))
In [14]:
X, y = np.array([[1, 0], [1, 1], [0, 1], [0, 0]]), np.array([1, 0, 0, 1])
In [15]:
plot_graph(X, y)
2021-04-01T20:42:42.376850 image/svg+xml Matplotlib v3.3.3, https://matplotlib.org/
In [16]:
model = Sequential(
    Linear(2, 2),
)
optimizer = SGD(model.parameters(), lr=5e-2, momentum=0.9)
criterion = CrossEntropyLoss()
In [17]:
train_model(X, y, model, optimizer, criterion, 700)
Accuracy: 1.0
Epoch: 343 | Loss: 0.014062056380827756 | Accuracy: 1.0
Epoch: 344 | Loss: 0.014022091979678153 | Accuracy: 1.0
Epoch: 345 | Loss: 0.013982355794338128 | Accuracy: 1.0
Epoch: 346 | Loss: 0.013942845864684405 | Accuracy: 1.0
Epoch: 347 | Loss: 0.013903560253080129 | Accuracy: 1.0
Epoch: 348 | Loss: 0.013864497044052009 | Accuracy: 1.0
Epoch: 349 | Loss: 0.013825654343973232 | Accuracy: 1.0
Epoch: 350 | Loss: 0.01378703028075131 | Accuracy: 1.0
Epoch: 351 | Loss: 0.013748623003521924 | Accuracy: 1.0
Epoch: 352 | Loss: 0.013710430682347475 | Accuracy: 1.0
Epoch: 353 | Loss: 0.013672451507920834 | Accuracy: 1.0
Epoch: 354 | Loss: 0.013634683691274898 | Accuracy: 1.0
Epoch: 355 | Loss: 0.013597125463495535 | Accuracy: 1.0
Epoch: 356 | Loss: 0.013559775075441169 | Accuracy: 1.0
Epoch: 357 | Loss: 0.013522630797465608 | Accuracy: 1.0
Epoch: 358 | Loss: 0.013485690919146351 | Accuracy: 1.0
Epoch: 359 | Loss: 0.013448953749017297 | Accuracy: 1.0
Epoch: 360 | Loss: 0.013412417614305656 | Accuracy: 1.0
Epoch: 361 | Loss: 0.013376080860673514 | Accuracy: 1.0
Epoch: 362 | Loss: 0.013339941851963629 | Accuracy: 1.0
Epoch: 363 | Loss: 0.01330399896994954 | Accuracy: 1.0
Epoch: 364 | Loss: 0.013268250614089233 | Accuracy: 1.0
Epoch: 365 | Loss: 0.013232695201283923 | Accuracy: 1.0
Epoch: 366 | Loss: 0.01319733116563955 | Accuracy: 1.0
Epoch: 367 | Loss: 0.013162156958233593 | Accuracy: 1.0
Epoch: 368 | Loss: 0.013127171046883846 | Accuracy: 1.0
Epoch: 369 | Loss: 0.013092371915923127 | Accuracy: 1.0
Epoch: 370 | Loss: 0.013057758065975759 | Accuracy: 1.0
Epoch: 371 | Loss: 0.013023328013738915 | Accuracy: 1.0
Epoch: 372 | Loss: 0.012989080291766576 | Accuracy: 1.0
Epoch: 373 | Loss: 0.0129550134482581 | Accuracy: 1.0
Epoch: 374 | Loss: 0.01292112604684877 | Accuracy: 1.0
Epoch: 375 | Loss: 0.012887416666405202 | Accuracy: 1.0
Epoch: 376 | Loss: 0.012853883900822234 | Accuracy: 1.0
Epoch: 377 | Loss: 0.01282052635882519 | Accuracy: 1.0
Epoch: 378 | Loss: 0.012787342663773587 | Accuracy: 1.0
Epoch: 379 | Loss: 0.012754331453468656 | Accuracy: 1.0
Epoch: 380 | Loss: 0.012721491379963467 | Accuracy: 1.0
Epoch: 381 | Loss: 0.012688821109377035 | Accuracy: 1.0
Epoch: 382 | Loss: 0.012656319321710028 | Accuracy: 1.0
Epoch: 383 | Loss: 0.012623984710664636 | Accuracy: 1.0
Epoch: 384 | Loss: 0.01259181598346586 | Accuracy: 1.0
Epoch: 385 | Loss: 0.012559811860687081 | Accuracy: 1.0
Epoch: 386 | Loss: 0.012527971076077123 | Accuracy: 1.0
Epoch: 387 | Loss: 0.012496292376391105 | Accuracy: 1.0
Epoch: 388 | Loss: 0.012464774521222551 | Accuracy: 1.0
Epoch: 389 | Loss: 0.012433416282839223 | Accuracy: 1.0
Epoch: 390 | Loss: 0.01240221644602136 | Accuracy: 1.0
Epoch: 391 | Loss: 0.01237117380790151 | Accuracy: 1.0
Epoch: 392 | Loss: 0.012340287177808187 | Accuracy: 1.0
Epoch: 393 | Loss: 0.012309555377110315 | Accuracy: 1.0
Epoch: 394 | Loss: 0.01227897723906598 | Accuracy: 1.0
Epoch: 395 | Loss: 0.012248551608671157 | Accuracy: 1.0
Epoch: 396 | Loss: 0.012218277342513071 | Accuracy: 1.0
Epoch: 397 | Loss: 0.012188153308623849 | Accuracy: 1.0
Epoch: 398 | Loss: 0.012158178386337903 | Accuracy: 1.0
Epoch: 399 | Loss: 0.012128351466150189 | Accuracy: 1.0
Epoch: 400 | Loss: 0.012098671449577443 | Accuracy: 1.0
Epoch: 401 | Loss: 0.012069137249021141 | Accuracy: 1.0
Epoch: 402 | Loss: 0.012039747787632504 | Accuracy: 1.0
Epoch: 403 | Loss: 0.012010501999179815 | Accuracy: 1.0
Epoch: 404 | Loss: 0.01198139882791728 | Accuracy: 1.0
Epoch: 405 | Loss: 0.011952437228455955 | Accuracy: 1.0
Epoch: 406 | Loss: 0.01192361616563676 | Accuracy: 1.0
Epoch: 407 | Loss: 0.011894934614405004 | Accuracy: 1.0
Epoch: 408 | Loss: 0.011866391559687946 | Accuracy: 1.0
Epoch: 409 | Loss: 0.01183798599627169 | Accuracy: 1.0
Epoch: 410 | Loss: 0.01180971692868257 | Accuracy: 1.0
Epoch: 411 | Loss: 0.011781583371068834 | Accuracy: 1.0
Epoch: 412 | Loss: 0.011753584347083634 | Accuracy: 1.0
Epoch: 413 | Loss: 0.011725718889771527 | Accuracy: 1.0
Epoch: 414 | Loss: 0.011697986041454542 | Accuracy: 1.0
Epoch: 415 | Loss: 0.01167038485362147 | Accuracy: 1.0
Epoch: 416 | Loss: 0.011642914386817436 | Accuracy: 1.0
Epoch: 417 | Loss: 0.011615573710536236 | Accuracy: 1.0
Epoch: 418 | Loss: 0.011588361903113768 | Accuracy: 1.0
Epoch: 419 | Loss: 0.011561278051622548 | Accuracy: 1.0
Epoch: 420 | Loss: 0.011534321251768283 | Accuracy: 1.0
Epoch: 421 | Loss: 0.01150749060778791 | Accuracy: 1.0
Epoch: 422 | Loss: 0.011480785232348885 | Accuracy: 1.0
Epoch: 423 | Loss: 0.011454204246449487 | Accuracy: 1.0
Epoch: 424 | Loss: 0.011427746779321613 | Accuracy: 1.0
Epoch: 425 | Loss: 0.011401411968333986 | Accuracy: 1.0
Epoch: 426 | Loss: 0.011375198958896994 | Accuracy: 1.0
Epoch: 427 | Loss: 0.011349106904369043 | Accuracy: 1.0
Epoch: 428 | Loss: 0.01132313496596423 | Accuracy: 1.0
Epoch: 429 | Loss: 0.011297282312660709 | Accuracy: 1.0
Epoch: 430 | Loss: 0.011271548121111155 | Accuracy: 1.0
Epoch: 431 | Loss: 0.011245931575554475 | Accuracy: 1.0
Epoch: 432 | Loss: 0.011220431867727384 | Accuracy: 1.0
Epoch: 433 | Loss: 0.011195048196779005 | Accuracy: 1.0
Epoch: 434 | Loss: 0.011169779769185748 | Accuracy: 1.0
Epoch: 435 | Loss: 0.01114462579866712 | Accuracy: 1.0
Epoch: 436 | Loss: 0.01111958550610341 | Accuracy: 1.0
Epoch: 437 | Loss: 0.011094658119453728 | Accuracy: 1.0
Epoch: 438 | Loss: 0.011069842873676019 | Accuracy: 1.0
Epoch: 439 | Loss: 0.011045139010647218 | Accuracy: 1.0
Epoch: 440 | Loss: 0.011020545779085506 | Accuracy: 1.0
Epoch: 441 | Loss: 0.010996062434472428 | Accuracy: 1.0
Epoch: 442 | Loss: 0.01097168823897754 | Accuracy: 1.0
Epoch: 443 | Loss: 0.010947422461382708 | Accuracy: 1.0
Epoch: 444 | Loss: 0.010923264377007972 | Accuracy: 1.0
Epoch: 445 | Loss: 0.010899213267638652 | Accuracy: 1.0
Epoch: 446 | Loss: 0.01087526842145335 | Accuracy: 1.0
Epoch: 447 | Loss: 0.010851429132952468 | Accuracy: 1.0
Epoch: 448 | Loss: 0.010827694702887797 | Accuracy: 1.0
Epoch: 449 | Loss: 0.010804064438193844 | Accuracy: 1.0
Epoch: 450 | Loss: 0.010780537651919062 | Accuracy: 1.0
Epoch: 451 | Loss: 0.010757113663158471 | Accuracy: 1.0
Epoch: 452 | Loss: 0.010733791796986742 | Accuracy: 1.0
Epoch: 453 | Loss: 0.010710571384393464 | Accuracy: 1.0
Epoch: 454 | Loss: 0.010687451762217248 | Accuracy: 1.0
Epoch: 455 | Loss: 0.0106644322730824 | Accuracy: 1.0
Epoch: 456 | Loss: 0.010641512265335504 | Accuracy: 1.0
Epoch: 457 | Loss: 0.010618691092983471 | Accuracy: 1.0
Epoch: 458 | Loss: 0.010595968115631689 | Accuracy: 1.0
Epoch: 459 | Loss: 0.010573342698423261 | Accuracy: 1.0
Epoch: 460 | Loss: 0.010550814211979537 | Accuracy: 1.0
Epoch: 461 | Loss: 0.010528382032340952 | Accuracy: 1.0
Epoch: 462 | Loss: 0.010506045540907978 | Accuracy: 1.0
Epoch: 463 | Loss: 0.010483804124384622 | Accuracy: 1.0
Epoch: 464 | Loss: 0.010461657174720574 | Accuracy: 1.0
Epoch: 465 | Loss: 0.01043960408905573 | Accuracy: 1.0
Epoch: 466 | Loss: 0.010417644269664468 | Accuracy: 1.0
Epoch: 467 | Loss: 0.01039577712390102 | Accuracy: 1.0
Epoch: 468 | Loss: 0.010374002064145686 | Accuracy: 1.0
Epoch: 469 | Loss: 0.010352318507751179 | Accuracy: 1.0
Epoch: 470 | Loss: 0.010330725876990207 | Accuracy: 1.0
Epoch: 471 | Loss: 0.010309223599003558 | Accuracy: 1.0
Epoch: 472 | Loss: 0.010287811105748678 | Accuracy: 1.0
Epoch: 473 | Loss: 0.010266487833949093 | Accuracy: 1.0
Epoch: 474 | Loss: 0.010245253225044366 | Accuracy: 1.0
Epoch: 475 | Loss: 0.01022410672514051 | Accuracy: 1.0
Epoch: 476 | Loss: 0.010203047784961804 | Accuracy: 1.0
Epoch: 477 | Loss: 0.010182075859802122 | Accuracy: 1.0
Epoch: 478 | Loss: 0.01016119040947764 | Accuracy: 1.0
Epoch: 479 | Loss: 0.010140390898279488 | Accuracy: 1.0
Epoch: 480 | Loss: 0.010119676794928062 | Accuracy: 1.0
Epoch: 481 | Loss: 0.010099047572526706 | Accuracy: 1.0
Epoch: 482 | Loss: 0.010078502708516499 | Accuracy: 1.0
Epoch: 483 | Loss: 0.010058041684631917 | Accuracy: 1.0
Epoch: 484 | Loss: 0.010037663986856517 | Accuracy: 1.0
Epoch: 485 | Loss: 0.01001736910537936 | Accuracy: 1.0
Epoch: 486 | Loss: 0.009997156534551991 | Accuracy: 1.0
Epoch: 487 | Loss: 0.00997702577284593 | Accuracy: 1.0
Epoch: 488 | Loss: 0.009956976322810862 | Accuracy: 1.0
Epoch: 489 | Loss: 0.009937007691033065 | Accuracy: 1.0
Epoch: 490 | Loss: 0.009917119388093969 | Accuracy: 1.0
Epoch: 491 | Loss: 0.009897310928530762 | Accuracy: 1.0
Epoch: 492 | Loss: 0.009877581830795241 | Accuracy: 1.0
Epoch: 493 | Loss: 0.009857931617215366 | Accuracy: 1.0
Epoch: 494 | Loss: 0.009838359813955245 | Accuracy: 1.0
Epoch: 495 | Loss: 0.009818865950977682 | Accuracy: 1.0
Epoch: 496 | Loss: 0.009799449562004976 | Accuracy: 1.0
Epoch: 497 | Loss: 0.0097801101844823 | Accuracy: 1.0
Epoch: 498 | Loss: 0.009760847359539927 | Accuracy: 1.0
Epoch: 499 | Loss: 0.009741660631956623 | Accuracy: 1.0
Epoch: 500 | Loss: 0.009722549550123602 | Accuracy: 1.0
Epoch: 501 | Loss: 0.009703513666008497 | Accuracy: 1.0
Epoch: 502 | Loss: 0.00968455253511988 | Accuracy: 1.0
Epoch: 503 | Loss: 0.009665665716472179 | Accuracy: 1.0
Epoch: 504 | Loss: 0.009646852772551687 | Accuracy: 1.0
Epoch: 505 | Loss: 0.009628113269281686 | Accuracy: 1.0
Epoch: 506 | Loss: 0.009609446775988852 | Accuracy: 1.0
Epoch: 507 | Loss: 0.009590852865370333 | Accuracy: 1.0
Epoch: 508 | Loss: 0.00957233111346012 | Accuracy: 1.0
Epoch: 509 | Loss: 0.00955388109959696 | Accuracy: 1.0
Epoch: 510 | Loss: 0.009535502406391748 | Accuracy: 1.0
Epoch: 511 | Loss: 0.00951719461969592 | Accuracy: 1.0
Epoch: 512 | Loss: 0.009498957328570323 | Accuracy: 1.0
Epoch: 513 | Loss: 0.009480790125253307 | Accuracy: 1.0
Epoch: 514 | Loss: 0.009462692605130666 | Accuracy: 1.0
Epoch: 515 | Loss: 0.009444664366705097 | Accuracy: 1.0
Epoch: 516 | Loss: 0.00942670501156599 | Accuracy: 1.0
Epoch: 517 | Loss: 0.009408814144359876 | Accuracy: 1.0
Epoch: 518 | Loss: 0.009390991372761295 | Accuracy: 1.0
Epoch: 519 | Loss: 0.009373236307443385 | Accuracy: 1.0
Epoch: 520 | Loss: 0.009355548562049565 | Accuracy: 1.0
Epoch: 521 | Loss: 0.009337927753165175 | Accuracy: 1.0
Epoch: 522 | Loss: 0.009320373500289098 | Accuracy: 1.0
Epoch: 523 | Loss: 0.00930288542580651 | Accuracy: 1.0
Epoch: 524 | Loss: 0.009285463154961432 | Accuracy: 1.0
Epoch: 525 | Loss: 0.0092681063158293 | Accuracy: 1.0
Epoch: 526 | Loss: 0.00925081453929076 | Accuracy: 1.0
Epoch: 527 | Loss: 0.009233587459004652 | Accuracy: 1.0
Epoch: 528 | Loss: 0.009216424711382398 | Accuracy: 1.0
Epoch: 529 | Loss: 0.009199325935561787 | Accuracy: 1.0
Epoch: 530 | Loss: 0.009182290773381493 | Accuracy: 1.0
Epoch: 531 | Loss: 0.009165318869355912 | Accuracy: 1.0
Epoch: 532 | Loss: 0.009148409870649937 | Accuracy: 1.0
Epoch: 533 | Loss: 0.009131563427054505 | Accuracy: 1.0
Epoch: 534 | Loss: 0.00911477919096182 | Accuracy: 1.0
Epoch: 535 | Loss: 0.009098056817341674 | Accuracy: 1.0
Epoch: 536 | Loss: 0.00908139596371708 | Accuracy: 1.0
Epoch: 537 | Loss: 0.00906479629014105 | Accuracy: 1.0
Epoch: 538 | Loss: 0.009048257459172811 | Accuracy: 1.0
Epoch: 539 | Loss: 0.009031779135854946 | Accuracy: 1.0
Epoch: 540 | Loss: 0.009015360987690657 | Accuracy: 1.0
Epoch: 541 | Loss: 0.008999002684620856 | Accuracy: 1.0
Epoch: 542 | Loss: 0.008982703899002065 | Accuracy: 1.0
Epoch: 543 | Loss: 0.008966464305584036 | Accuracy: 1.0
Epoch: 544 | Loss: 0.008950283581488354 | Accuracy: 1.0
Epoch: 545 | Loss: 0.00893416140618647 | Accuracy: 1.0
Epoch: 546 | Loss: 0.008918097461478062 | Accuracy: 1.0
Epoch: 547 | Loss: 0.008902091431470615 | Accuracy: 1.0
Epoch: 548 | Loss: 0.0088861430025579 | Accuracy: 1.0
Epoch: 549 | Loss: 0.008870251863399344 | Accuracy: 1.0
Epoch: 550 | Loss: 0.008854417704899968 | Accuracy: 1.0
Epoch: 551 | Loss: 0.008838640220189601 | Accuracy: 1.0
Epoch: 552 | Loss: 0.008822919104603082 | Accuracy: 1.0
Epoch: 553 | Loss: 0.00880725405566092 | Accuracy: 1.0
Epoch: 554 | Loss: 0.008791644773048717 | Accuracy: 1.0
Epoch: 555 | Loss: 0.008776090958598335 | Accuracy: 1.0
Epoch: 556 | Loss: 0.008760592316269064 | Accuracy: 1.0
Epoch: 557 | Loss: 0.008745148552128048 | Accuracy: 1.0
Epoch: 558 | Loss: 0.008729759374331784 | Accuracy: 1.0
Epoch: 559 | Loss: 0.008714424493107427 | Accuracy: 1.0
Epoch: 560 | Loss: 0.00869914362073465 | Accuracy: 1.0
Epoch: 561 | Loss: 0.008683916471527277 | Accuracy: 1.0
Epoch: 562 | Loss: 0.00866874276181524 | Accuracy: 1.0
Epoch: 563 | Loss: 0.008653622209927048 | Accuracy: 1.0
Epoch: 564 | Loss: 0.008638554536171836 | Accuracy: 1.0
Epoch: 565 | Loss: 0.00862353946282232 | Accuracy: 1.0
Epoch: 566 | Loss: 0.00860857671409746 | Accuracy: 1.0
Epoch: 567 | Loss: 0.00859366601614497 | Accuracy: 1.0
Epoch: 568 | Loss: 0.008578807097025246 | Accuracy: 1.0
Epoch: 569 | Loss: 0.008563999686693923 | Accuracy: 1.0
Epoch: 570 | Loss: 0.008549243516985678 | Accuracy: 1.0
Epoch: 571 | Loss: 0.008534538321598088 | Accuracy: 1.0
Epoch: 572 | Loss: 0.008519883836074948 | Accuracy: 1.0
Epoch: 573 | Loss: 0.008505279797790847 | Accuracy: 1.0
Epoch: 574 | Loss: 0.008490725945934852 | Accuracy: 1.0
Epoch: 575 | Loss: 0.008476222021494924 | Accuracy: 1.0
Epoch: 576 | Loss: 0.008461767767242556 | Accuracy: 1.0
Epoch: 577 | Loss: 0.008447362927717483 | Accuracy: 1.0
Epoch: 578 | Loss: 0.008433007249212202 | Accuracy: 1.0
Epoch: 579 | Loss: 0.008418700479757095 | Accuracy: 1.0
Epoch: 580 | Loss: 0.008404442369105605 | Accuracy: 1.0
Epoch: 581 | Loss: 0.008390232668719234 | Accuracy: 1.0
Epoch: 582 | Loss: 0.00837607113175334 | Accuracy: 1.0
Epoch: 583 | Loss: 0.00836195751304262 | Accuracy: 1.0
Epoch: 584 | Loss: 0.008347891569086484 | Accuracy: 1.0
Epoch: 585 | Loss: 0.008333873058035193 | Accuracy: 1.0
Epoch: 586 | Loss: 0.00831990173967606 | Accuracy: 1.0
Epoch: 587 | Loss: 0.008305977375419084 | Accuracy: 1.0
Epoch: 588 | Loss: 0.0082920997282838 | Accuracy: 1.0
Epoch: 589 | Loss: 0.008278268562885332 | Accuracy: 1.0
Epoch: 590 | Loss: 0.008264483645420822 | Accuracy: 1.0
Epoch: 591 | Loss: 0.008250744743656906 | Accuracy: 1.0
Epoch: 592 | Loss: 0.008237051626915504 | Accuracy: 1.0
Epoch: 593 | Loss: 0.008223404066061712 | Accuracy: 1.0
Epoch: 594 | Loss: 0.008209801833490123 | Accuracy: 1.0
Epoch: 595 | Loss: 0.008196244703112669 | Accuracy: 1.0
Epoch: 596 | Loss: 0.00818273245034559 | Accuracy: 1.0
Epoch: 597 | Loss: 0.008169264852097355 | Accuracy: 1.0
Epoch: 598 | Loss: 0.008155841686755582 | Accuracy: 1.0
Epoch: 599 | Loss: 0.008142462734175432 | Accuracy: 1.0
Epoch: 600 | Loss: 0.008129127775666947 | Accuracy: 1.0
Epoch: 601 | Loss: 0.008115836593983732 | Accuracy: 1.0
Epoch: 602 | Loss: 0.00810258897331005 | Accuracy: 1.0
Epoch: 603 | Loss: 0.00808938469924982 | Accuracy: 1.0
Epoch: 604 | Loss: 0.008076223558815009 | Accuracy: 1.0
Epoch: 605 | Loss: 0.00806310534041297 | Accuracy: 1.0
Epoch: 606 | Loss: 0.008050029833836632 | Accuracy: 1.0
Epoch: 607 | Loss: 0.008036996830251856 | Accuracy: 1.0
Epoch: 608 | Loss: 0.008024006122186868 | Accuracy: 1.0
Epoch: 609 | Loss: 0.008011057503520843 | Accuracy: 1.0
Epoch: 610 | Loss: 0.007998150769472977 | Accuracy: 1.0
Epoch: 611 | Loss: 0.007985285716592136 | Accuracy: 1.0
Epoch: 612 | Loss: 0.007972462142744934 | Accuracy: 1.0
Epoch: 613 | Loss: 0.007959679847106164 | Accuracy: 1.0
Epoch: 614 | Loss: 0.00794693863014752 | Accuracy: 1.0
Epoch: 615 | Loss: 0.007934238293627341 | Accuracy: 1.0
Epoch: 616 | Loss: 0.007921578640580539 | Accuracy: 1.0
Epoch: 617 | Loss: 0.00790895947530772 | Accuracy: 1.0
Epoch: 618 | Loss: 0.007896380603365527 | Accuracy: 1.0
Epoch: 619 | Loss: 0.007883841831556153 | Accuracy: 1.0
Epoch: 620 | Loss: 0.00787134296791811 | Accuracy: 1.0
Epoch: 621 | Loss: 0.007858883821715073 | Accuracy: 1.0
Epoch: 622 | Loss: 0.007846464203427394 | Accuracy: 1.0
Epoch: 623 | Loss: 0.007834083924741502 | Accuracy: 1.0
Epoch: 624 | Loss: 0.007821742798540976 | Accuracy: 1.0
Epoch: 625 | Loss: 0.007809440638896529 | Accuracy: 1.0
Epoch: 626 | Loss: 0.007797177261056631 | Accuracy: 1.0
Epoch: 627 | Loss: 0.007784952481438632 | Accuracy: 1.0
Epoch: 628 | Loss: 0.0077727661176188855 | Accuracy: 1.0
Epoch: 629 | Loss: 0.007760617988324093 | Accuracy: 1.0
Epoch: 630 | Loss: 0.0077485079134220715 | Accuracy: 1.0
Epoch: 631 | Loss: 0.007736435713912565 | Accuracy: 1.0
Epoch: 632 | Loss: 0.007724401211918841 | Accuracy: 1.0
Epoch: 633 | Loss: 0.00771240423067841 | Accuracy: 1.0
Epoch: 634 | Loss: 0.007700444594534521 | Accuracy: 1.0
Epoch: 635 | Loss: 0.007688522128927224 | Accuracy: 1.0
Epoch: 636 | Loss: 0.007676636660385395 | Accuracy: 1.0
Epoch: 637 | Loss: 0.0076647880165177425 | Accuracy: 1.0
Epoch: 638 | Loss: 0.007652976026004494 | Accuracy: 1.0
Epoch: 639 | Loss: 0.007641200518589284 | Accuracy: 1.0
Epoch: 640 | Loss: 0.007629461325070553 | Accuracy: 1.0
Epoch: 641 | Loss: 0.007617758277293657 | Accuracy: 1.0
Epoch: 642 | Loss: 0.007606091208142862 | Accuracy: 1.0
Epoch: 643 | Loss: 0.007594459951532809 | Accuracy: 1.0
Epoch: 644 | Loss: 0.007582864342401139 | Accuracy: 1.0
Epoch: 645 | Loss: 0.007571304216700315 | Accuracy: 1.0
Epoch: 646 | Loss: 0.007559779411389677 | Accuracy: 1.0
Epoch: 647 | Loss: 0.0075482897644285115 | Accuracy: 1.0
Epoch: 648 | Loss: 0.007536835114767147 | Accuracy: 1.0
Epoch: 649 | Loss: 0.007525415302340403 | Accuracy: 1.0
Epoch: 650 | Loss: 0.00751403016805947 | Accuracy: 1.0
Epoch: 651 | Loss: 0.007502679553804759 | Accuracy: 1.0
Epoch: 652 | Loss: 0.0074913633024187316 | Accuracy: 1.0
Epoch: 653 | Loss: 0.007480081257697828 | Accuracy: 1.0
Epoch: 654 | Loss: 0.00746883326438592 | Accuracy: 1.0
Epoch: 655 | Loss: 0.00745761916816688 | Accuracy: 1.0
Epoch: 656 | Loss: 0.007446438815657616 | Accuracy: 1.0
Epoch: 657 | Loss: 0.007435292054400609 | Accuracy: 1.0
Epoch: 658 | Loss: 0.007424178732857362 | Accuracy: 1.0
Epoch: 659 | Loss: 0.007413098700401362 | Accuracy: 1.0
Epoch: 660 | Loss: 0.007402051807311177 | Accuracy: 1.0
Epoch: 661 | Loss: 0.00739103790476348 | Accuracy: 1.0
Epoch: 662 | Loss: 0.00738005684482672 | Accuracy: 1.0
Epoch: 663 | Loss: 0.007369108480453982 | Accuracy: 1.0
Epoch: 664 | Loss: 0.007358192665476914 | Accuracy: 1.0
Epoch: 665 | Loss: 0.007347309254598564 | Accuracy: 1.0
Epoch: 666 | Loss: 0.0073364581033872455 | Accuracy: 1.0
Epoch: 667 | Loss: 0.007325639068270195 | Accuracy: 1.0
Epoch: 668 | Loss: 0.0073148520065267775 | Accuracy: 1.0
Epoch: 669 | Loss: 0.007304096776282463 | Accuracy: 1.0
Epoch: 670 | Loss: 0.007293373236502635 | Accuracy: 1.0
Epoch: 671 | Loss: 0.007282681246986045 | Accuracy: 1.0
Epoch: 672 | Loss: 0.007272020668358985 | Accuracy: 1.0
Epoch: 673 | Loss: 0.00726139136206902 | Accuracy: 1.0
Epoch: 674 | Loss: 0.007250793190378945 | Accuracy: 1.0
Epoch: 675 | Loss: 0.0072402260163604995 | Accuracy: 1.0
Epoch: 676 | Loss: 0.0072296897038894 | Accuracy: 1.0
Epoch: 677 | Loss: 0.007219184117638119 | Accuracy: 1.0
Epoch: 678 | Loss: 0.007208709123071052 | Accuracy: 1.0
Epoch: 679 | Loss: 0.0071982645864383235 | Accuracy: 1.0
Epoch: 680 | Loss: 0.007187850374769966 | Accuracy: 1.0
Epoch: 681 | Loss: 0.007177466355870573 | Accuracy: 1.0
Epoch: 682 | Loss: 0.007167112398313217 | Accuracy: 1.0
Epoch: 683 | Loss: 0.0071567883714343476 | Accuracy: 1.0
Epoch: 684 | Loss: 0.007146494145327876 | Accuracy: 1.0
Epoch: 685 | Loss: 0.007136229590839794 | Accuracy: 1.0
Epoch: 686 | Loss: 0.0071259945795627624 | Accuracy: 1.0
Epoch: 687 | Loss: 0.007115788983830697 | Accuracy: 1.0
Epoch: 688 | Loss: 0.007105612676713623 | Accuracy: 1.0
Epoch: 689 | Loss: 0.007095465532011773 | Accuracy: 1.0
Epoch: 690 | Loss: 0.007085347424251171 | Accuracy: 1.0
Epoch: 691 | Loss: 0.007075258228677481 | Accuracy: 1.0
Epoch: 692 | Loss: 0.0070651978212518405 | Accuracy: 1.0
Epoch: 693 | Loss: 0.007055166078644945 | Accuracy: 1.0
Epoch: 694 | Loss: 0.007045162878232212 | Accuracy: 1.0
Epoch: 695 | Loss: 0.00703518809808916 | Accuracy: 1.0
Epoch: 696 | Loss: 0.007025241616985599 | Accuracy: 1.0
Epoch: 697 | Loss: 0.0070153233143812116 | Accuracy: 1.0
Epoch: 698 | Loss: 0.007005433070420945 | Accuracy: 1.0
Epoch: 699 | Loss: 0.006995570765929358 | Accuracy: 1.0
Epoch: 700 | Loss: 0.006985736282406358 | Accuracy: 1.0
In [18]:
plot_colored_graph(model, X, y)
<ipython-input-13-ff87a8808486>:9: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
  plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
2021-04-01T20:42:50.425138 image/svg+xml Matplotlib v3.3.3, https://matplotlib.org/
In [19]:
X, y = np.array([[1, 0], [1, 1], [0, 1], [0, 0]]), np.array([1, 0, 1, 0])
In [20]:
plot_graph(X, y)
2021-04-01T20:43:09.434650 image/svg+xml Matplotlib v3.3.3, https://matplotlib.org/
In [21]:
model = Sequential(
    Linear(2, 8),
    ReLU(),
    Linear(8, 2),
)
optimizer = SGD(model.parameters(), lr=5e-2, momentum=0.9)
criterion = CrossEntropyLoss()
In [22]:
train_model(X, y, model, optimizer, criterion, 700)
4126 | Accuracy: 1.0
Epoch: 349 | Loss: 0.002459844305706624 | Accuracy: 1.0
Epoch: 350 | Loss: 0.0024494757777481523 | Accuracy: 1.0
Epoch: 351 | Loss: 0.002439335453284056 | Accuracy: 1.0
Epoch: 352 | Loss: 0.002429899658711762 | Accuracy: 1.0
Epoch: 353 | Loss: 0.0024202584670458627 | Accuracy: 1.0
Epoch: 354 | Loss: 0.0024106092214497997 | Accuracy: 1.0
Epoch: 355 | Loss: 0.0024008599220094315 | Accuracy: 1.0
Epoch: 356 | Loss: 0.002391263616551339 | Accuracy: 1.0
Epoch: 357 | Loss: 0.002381756885779605 | Accuracy: 1.0
Epoch: 358 | Loss: 0.00237248652071142 | Accuracy: 1.0
Epoch: 359 | Loss: 0.0023630590335737287 | Accuracy: 1.0
Epoch: 360 | Loss: 0.0023535877802887393 | Accuracy: 1.0
Epoch: 361 | Loss: 0.0023446228121030838 | Accuracy: 1.0
Epoch: 362 | Loss: 0.0023357959586420675 | Accuracy: 1.0
Epoch: 363 | Loss: 0.0023267894841640354 | Accuracy: 1.0
Epoch: 364 | Loss: 0.0023179695198524775 | Accuracy: 1.0
Epoch: 365 | Loss: 0.0023087366007241055 | Accuracy: 1.0
Epoch: 366 | Loss: 0.0022999607073421343 | Accuracy: 1.0
Epoch: 367 | Loss: 0.002291190170063636 | Accuracy: 1.0
Epoch: 368 | Loss: 0.002281905445573084 | Accuracy: 1.0
Epoch: 369 | Loss: 0.0022733314647748575 | Accuracy: 1.0
Epoch: 370 | Loss: 0.002264827905776463 | Accuracy: 1.0
Epoch: 371 | Loss: 0.002256309397518607 | Accuracy: 1.0
Epoch: 372 | Loss: 0.0022481936783868258 | Accuracy: 1.0
Epoch: 373 | Loss: 0.002239493897626254 | Accuracy: 1.0
Epoch: 374 | Loss: 0.002231332787265169 | Accuracy: 1.0
Epoch: 375 | Loss: 0.0022232192826007005 | Accuracy: 1.0
Epoch: 376 | Loss: 0.0022147707435237066 | Accuracy: 1.0
Epoch: 377 | Loss: 0.0022062941697669138 | Accuracy: 1.0
Epoch: 378 | Loss: 0.00219823392309503 | Accuracy: 1.0
Epoch: 379 | Loss: 0.0021900692593754788 | Accuracy: 1.0
Epoch: 380 | Loss: 0.00218195239142961 | Accuracy: 1.0
Epoch: 381 | Loss: 0.002174060927541877 | Accuracy: 1.0
Epoch: 382 | Loss: 0.0021658428976452627 | Accuracy: 1.0
Epoch: 383 | Loss: 0.0021579874526542918 | Accuracy: 1.0
Epoch: 384 | Loss: 0.0021502572348552802 | Accuracy: 1.0
Epoch: 385 | Loss: 0.0021425404267350822 | Accuracy: 1.0
Epoch: 386 | Loss: 0.0021348453629351457 | Accuracy: 1.0
Epoch: 387 | Loss: 0.0021269524940872447 | Accuracy: 1.0
Epoch: 388 | Loss: 0.002119542198075256 | Accuracy: 1.0
Epoch: 389 | Loss: 0.002112075407768547 | Accuracy: 1.0
Epoch: 390 | Loss: 0.0021043442541856627 | Accuracy: 1.0
Epoch: 391 | Loss: 0.0020971604590953223 | Accuracy: 1.0
Epoch: 392 | Loss: 0.0020896266507338893 | Accuracy: 1.0
Epoch: 393 | Loss: 0.002082421992269707 | Accuracy: 1.0
Epoch: 394 | Loss: 0.002075498816128148 | Accuracy: 1.0
Epoch: 395 | Loss: 0.0020681180253796314 | Accuracy: 1.0
Epoch: 396 | Loss: 0.0020622344302906803 | Accuracy: 1.0
Epoch: 397 | Loss: 0.0020563276412736186 | Accuracy: 1.0
Epoch: 398 | Loss: 0.0020505892608200264 | Accuracy: 1.0
Epoch: 399 | Loss: 0.0020447186248516384 | Accuracy: 1.0
Epoch: 400 | Loss: 0.00203839816195018 | Accuracy: 1.0
Epoch: 401 | Loss: 0.002032437213622811 | Accuracy: 1.0
Epoch: 402 | Loss: 0.0020264580238782515 | Accuracy: 1.0
Epoch: 403 | Loss: 0.002020272246141948 | Accuracy: 1.0
Epoch: 404 | Loss: 0.0020139813746489965 | Accuracy: 1.0
Epoch: 405 | Loss: 0.00200817894111724 | Accuracy: 1.0
Epoch: 406 | Loss: 0.002002097872923117 | Accuracy: 1.0
Epoch: 407 | Loss: 0.001995714025327563 | Accuracy: 1.0
Epoch: 408 | Loss: 0.001989633224966816 | Accuracy: 1.0
Epoch: 409 | Loss: 0.0019837654011039493 | Accuracy: 1.0
Epoch: 410 | Loss: 0.0019777189296335614 | Accuracy: 1.0
Epoch: 411 | Loss: 0.0019721119801031266 | Accuracy: 1.0
Epoch: 412 | Loss: 0.0019667671274737598 | Accuracy: 1.0
Epoch: 413 | Loss: 0.0019613564423537166 | Accuracy: 1.0
Epoch: 414 | Loss: 0.0019559056637786423 | Accuracy: 1.0
Epoch: 415 | Loss: 0.0019500542226896197 | Accuracy: 1.0
Epoch: 416 | Loss: 0.001944793074169194 | Accuracy: 1.0
Epoch: 417 | Loss: 0.0019393091510531472 | Accuracy: 1.0
Epoch: 418 | Loss: 0.0019331423959877314 | Accuracy: 1.0
Epoch: 419 | Loss: 0.0019276052791140216 | Accuracy: 1.0
Epoch: 420 | Loss: 0.0019225240969101493 | Accuracy: 1.0
Epoch: 421 | Loss: 0.001917223274382521 | Accuracy: 1.0
Epoch: 422 | Loss: 0.0019121813803047606 | Accuracy: 1.0
Epoch: 423 | Loss: 0.0019067434581521254 | Accuracy: 1.0
Epoch: 424 | Loss: 0.0019017743061547892 | Accuracy: 1.0
Epoch: 425 | Loss: 0.0018964358562252451 | Accuracy: 1.0
Epoch: 426 | Loss: 0.0018911182525461275 | Accuracy: 1.0
Epoch: 427 | Loss: 0.0018858897056900712 | Accuracy: 1.0
Epoch: 428 | Loss: 0.0018810206380376233 | Accuracy: 1.0
Epoch: 429 | Loss: 0.0018762264147734009 | Accuracy: 1.0
Epoch: 430 | Loss: 0.0018713195808845017 | Accuracy: 1.0
Epoch: 431 | Loss: 0.0018662943733077767 | Accuracy: 1.0
Epoch: 432 | Loss: 0.0018611279325819112 | Accuracy: 1.0
Epoch: 433 | Loss: 0.0018561179754007632 | Accuracy: 1.0
Epoch: 434 | Loss: 0.0018512660197146837 | Accuracy: 1.0
Epoch: 435 | Loss: 0.0018468336264036661 | Accuracy: 1.0
Epoch: 436 | Loss: 0.001842140092739502 | Accuracy: 1.0
Epoch: 437 | Loss: 0.001837181816452582 | Accuracy: 1.0
Epoch: 438 | Loss: 0.0018320124437661719 | Accuracy: 1.0
Epoch: 439 | Loss: 0.0018277043343606731 | Accuracy: 1.0
Epoch: 440 | Loss: 0.0018229527670317394 | Accuracy: 1.0
Epoch: 441 | Loss: 0.0018179884670243402 | Accuracy: 1.0
Epoch: 442 | Loss: 0.001813676567812318 | Accuracy: 1.0
Epoch: 443 | Loss: 0.0018090705753402267 | Accuracy: 1.0
Epoch: 444 | Loss: 0.0018044239965306842 | Accuracy: 1.0
Epoch: 445 | Loss: 0.0017995465509553115 | Accuracy: 1.0
Epoch: 446 | Loss: 0.0017949238894943297 | Accuracy: 1.0
Epoch: 447 | Loss: 0.0017908739648409208 | Accuracy: 1.0
Epoch: 448 | Loss: 0.0017863121486820805 | Accuracy: 1.0
Epoch: 449 | Loss: 0.0017813266257113375 | Accuracy: 1.0
Epoch: 450 | Loss: 0.0017771308468927508 | Accuracy: 1.0
Epoch: 451 | Loss: 0.0017726825378909345 | Accuracy: 1.0
Epoch: 452 | Loss: 0.0017685418464746334 | Accuracy: 1.0
Epoch: 453 | Loss: 0.0017641487026136826 | Accuracy: 1.0
Epoch: 454 | Loss: 0.0017595313951864538 | Accuracy: 1.0
Epoch: 455 | Loss: 0.0017553309736508687 | Accuracy: 1.0
Epoch: 456 | Loss: 0.0017507856543621638 | Accuracy: 1.0
Epoch: 457 | Loss: 0.001746359433234329 | Accuracy: 1.0
Epoch: 458 | Loss: 0.0017422751875151039 | Accuracy: 1.0
Epoch: 459 | Loss: 0.0017380805317131762 | Accuracy: 1.0
Epoch: 460 | Loss: 0.001733919804477407 | Accuracy: 1.0
Epoch: 461 | Loss: 0.0017296162010743015 | Accuracy: 1.0
Epoch: 462 | Loss: 0.0017254477150601614 | Accuracy: 1.0
Epoch: 463 | Loss: 0.0017211052976038106 | Accuracy: 1.0
Epoch: 464 | Loss: 0.0017175026343896594 | Accuracy: 1.0
Epoch: 465 | Loss: 0.0017134991045057988 | Accuracy: 1.0
Epoch: 466 | Loss: 0.0017091336698872692 | Accuracy: 1.0
Epoch: 467 | Loss: 0.0017049694233807959 | Accuracy: 1.0
Epoch: 468 | Loss: 0.0017011258292919107 | Accuracy: 1.0
Epoch: 469 | Loss: 0.0016970582427229344 | Accuracy: 1.0
Epoch: 470 | Loss: 0.0016929141449519836 | Accuracy: 1.0
Epoch: 471 | Loss: 0.0016889955871864188 | Accuracy: 1.0
Epoch: 472 | Loss: 0.0016852053515333796 | Accuracy: 1.0
Epoch: 473 | Loss: 0.0016812804153104478 | Accuracy: 1.0
Epoch: 474 | Loss: 0.0016768712856223 | Accuracy: 1.0
Epoch: 475 | Loss: 0.001673466645706191 | Accuracy: 1.0
Epoch: 476 | Loss: 0.0016699155153518772 | Accuracy: 1.0
Epoch: 477 | Loss: 0.0016660757802505395 | Accuracy: 1.0
Epoch: 478 | Loss: 0.001661962883647814 | Accuracy: 1.0
Epoch: 479 | Loss: 0.001658030967178572 | Accuracy: 1.0
Epoch: 480 | Loss: 0.00165433736883796 | Accuracy: 1.0
Epoch: 481 | Loss: 0.0016505211906241712 | Accuracy: 1.0
Epoch: 482 | Loss: 0.0016468284993881419 | Accuracy: 1.0
Epoch: 483 | Loss: 0.0016428601509262252 | Accuracy: 1.0
Epoch: 484 | Loss: 0.0016388487731778126 | Accuracy: 1.0
Epoch: 485 | Loss: 0.0016350079775729574 | Accuracy: 1.0
Epoch: 486 | Loss: 0.0016315745751633104 | Accuracy: 1.0
Epoch: 487 | Loss: 0.0016279580215263418 | Accuracy: 1.0
Epoch: 488 | Loss: 0.0016243067840706195 | Accuracy: 1.0
Epoch: 489 | Loss: 0.001620651478500535 | Accuracy: 1.0
Epoch: 490 | Loss: 0.001616849099138339 | Accuracy: 1.0
Epoch: 491 | Loss: 0.0016129085568289151 | Accuracy: 1.0
Epoch: 492 | Loss: 0.0016092219740705105 | Accuracy: 1.0
Epoch: 493 | Loss: 0.0016058266805987686 | Accuracy: 1.0
Epoch: 494 | Loss: 0.0016022972805811572 | Accuracy: 1.0
Epoch: 495 | Loss: 0.0015987795192991927 | Accuracy: 1.0
Epoch: 496 | Loss: 0.0015952067129353072 | Accuracy: 1.0
Epoch: 497 | Loss: 0.0015915843141037175 | Accuracy: 1.0
Epoch: 498 | Loss: 0.0015882362002540152 | Accuracy: 1.0
Epoch: 499 | Loss: 0.0015844479069835368 | Accuracy: 1.0
Epoch: 500 | Loss: 0.0015810364687954053 | Accuracy: 1.0
Epoch: 501 | Loss: 0.0015777957332038302 | Accuracy: 1.0
Epoch: 502 | Loss: 0.0015742904014616967 | Accuracy: 1.0
Epoch: 503 | Loss: 0.0015706074962900125 | Accuracy: 1.0
Epoch: 504 | Loss: 0.001567204478936872 | Accuracy: 1.0
Epoch: 505 | Loss: 0.001563587691653586 | Accuracy: 1.0
Epoch: 506 | Loss: 0.0015603745358784911 | Accuracy: 1.0
Epoch: 507 | Loss: 0.0015571777172674749 | Accuracy: 1.0
Epoch: 508 | Loss: 0.0015537962414152102 | Accuracy: 1.0
Epoch: 509 | Loss: 0.0015504121963165114 | Accuracy: 1.0
Epoch: 510 | Loss: 0.0015469572100247756 | Accuracy: 1.0
Epoch: 511 | Loss: 0.0015435204579343953 | Accuracy: 1.0
Epoch: 512 | Loss: 0.0015403987388578314 | Accuracy: 1.0
Epoch: 513 | Loss: 0.0015371591063186017 | Accuracy: 1.0
Epoch: 514 | Loss: 0.0015338318864144074 | Accuracy: 1.0
Epoch: 515 | Loss: 0.0015306547643229732 | Accuracy: 1.0
Epoch: 516 | Loss: 0.001527329183731821 | Accuracy: 1.0
Epoch: 517 | Loss: 0.001523971960509199 | Accuracy: 1.0
Epoch: 518 | Loss: 0.0015210309791408845 | Accuracy: 1.0
Epoch: 519 | Loss: 0.0015178138716795335 | Accuracy: 1.0
Epoch: 520 | Loss: 0.001514593405088598 | Accuracy: 1.0
Epoch: 521 | Loss: 0.001511384942552779 | Accuracy: 1.0
Epoch: 522 | Loss: 0.001508340872485972 | Accuracy: 1.0
Epoch: 523 | Loss: 0.0015051341584125088 | Accuracy: 1.0
Epoch: 524 | Loss: 0.0015019498852465194 | Accuracy: 1.0
Epoch: 525 | Loss: 0.0014990213182459766 | Accuracy: 1.0
Epoch: 526 | Loss: 0.001495781642614691 | Accuracy: 1.0
Epoch: 527 | Loss: 0.0014926929705304129 | Accuracy: 1.0
Epoch: 528 | Loss: 0.0014896503973798095 | Accuracy: 1.0
Epoch: 529 | Loss: 0.001486397069864384 | Accuracy: 1.0
Epoch: 530 | Loss: 0.0014835347667800547 | Accuracy: 1.0
Epoch: 531 | Loss: 0.0014804897423190471 | Accuracy: 1.0
Epoch: 532 | Loss: 0.00147734864482272 | Accuracy: 1.0
Epoch: 533 | Loss: 0.0014741905008245953 | Accuracy: 1.0
Epoch: 534 | Loss: 0.0014713364363106844 | Accuracy: 1.0
Epoch: 535 | Loss: 0.0014681425383608203 | Accuracy: 1.0
Epoch: 536 | Loss: 0.0014652007824377498 | Accuracy: 1.0
Epoch: 537 | Loss: 0.0014622975161971215 | Accuracy: 1.0
Epoch: 538 | Loss: 0.0014592857522512746 | Accuracy: 1.0
Epoch: 539 | Loss: 0.0014564038412508314 | Accuracy: 1.0
Epoch: 540 | Loss: 0.0014534482985372325 | Accuracy: 1.0
Epoch: 541 | Loss: 0.001450412330856528 | Accuracy: 1.0
Epoch: 542 | Loss: 0.001447603526678641 | Accuracy: 1.0
Epoch: 543 | Loss: 0.0014447827255130437 | Accuracy: 1.0
Epoch: 544 | Loss: 0.0014417459931291726 | Accuracy: 1.0
Epoch: 545 | Loss: 0.0014387762431111314 | Accuracy: 1.0
Epoch: 546 | Loss: 0.0014362416997660357 | Accuracy: 1.0
Epoch: 547 | Loss: 0.0014333779651646032 | Accuracy: 1.0
Epoch: 548 | Loss: 0.0014305376819022469 | Accuracy: 1.0
Epoch: 549 | Loss: 0.0014277476711408884 | Accuracy: 1.0
Epoch: 550 | Loss: 0.0014247669054701217 | Accuracy: 1.0
Epoch: 551 | Loss: 0.0014218158819034308 | Accuracy: 1.0
Epoch: 552 | Loss: 0.0014192242824240006 | Accuracy: 1.0
Epoch: 553 | Loss: 0.0014165679903549023 | Accuracy: 1.0
Epoch: 554 | Loss: 0.0014136731302633564 | Accuracy: 1.0
Epoch: 555 | Loss: 0.0014108922712168684 | Accuracy: 1.0
Epoch: 556 | Loss: 0.0014081673064720206 | Accuracy: 1.0
Epoch: 557 | Loss: 0.0014054941119854177 | Accuracy: 1.0
Epoch: 558 | Loss: 0.0014026948367113423 | Accuracy: 1.0
Epoch: 559 | Loss: 0.0014000301103884033 | Accuracy: 1.0
Epoch: 560 | Loss: 0.0013972336949806914 | Accuracy: 1.0
Epoch: 561 | Loss: 0.0013943714346782432 | Accuracy: 1.0
Epoch: 562 | Loss: 0.0013919823656585572 | Accuracy: 1.0
Epoch: 563 | Loss: 0.0013893512092556636 | Accuracy: 1.0
Epoch: 564 | Loss: 0.0013866734021224527 | Accuracy: 1.0
Epoch: 565 | Loss: 0.0013839662831185624 | Accuracy: 1.0
Epoch: 566 | Loss: 0.0013812873388842485 | Accuracy: 1.0
Epoch: 567 | Loss: 0.0013786487886785252 | Accuracy: 1.0
Epoch: 568 | Loss: 0.0013758907558269456 | Accuracy: 1.0
Epoch: 569 | Loss: 0.0013734319117991891 | Accuracy: 1.0
Epoch: 570 | Loss: 0.001370898484687113 | Accuracy: 1.0
Epoch: 571 | Loss: 0.0013681911636096004 | Accuracy: 1.0
Epoch: 572 | Loss: 0.0013653160362066107 | Accuracy: 1.0
Epoch: 573 | Loss: 0.0013631438814417334 | Accuracy: 1.0
Epoch: 574 | Loss: 0.0013608337528522964 | Accuracy: 1.0
Epoch: 575 | Loss: 0.001358125313381817 | Accuracy: 1.0
Epoch: 576 | Loss: 0.0013551285329547983 | Accuracy: 1.0
Epoch: 577 | Loss: 0.0013529292594882266 | Accuracy: 1.0
Epoch: 578 | Loss: 0.0013507769456169304 | Accuracy: 1.0
Epoch: 579 | Loss: 0.0013482688145630803 | Accuracy: 1.0
Epoch: 580 | Loss: 0.0013454794931908494 | Accuracy: 1.0
Epoch: 581 | Loss: 0.001342850147433031 | Accuracy: 1.0
Epoch: 582 | Loss: 0.0013404104633944545 | Accuracy: 1.0
Epoch: 583 | Loss: 0.0013378534605494024 | Accuracy: 1.0
Epoch: 584 | Loss: 0.0013357068142856678 | Accuracy: 1.0
Epoch: 585 | Loss: 0.0013333114712869016 | Accuracy: 1.0
Epoch: 586 | Loss: 0.0013305692119194251 | Accuracy: 1.0
Epoch: 587 | Loss: 0.0013277492345913325 | Accuracy: 1.0
Epoch: 588 | Loss: 0.0013254599087788247 | Accuracy: 1.0
Epoch: 589 | Loss: 0.001323197999435114 | Accuracy: 1.0
Epoch: 590 | Loss: 0.001320711453578479 | Accuracy: 1.0
Epoch: 591 | Loss: 0.0013179469870200457 | Accuracy: 1.0
Epoch: 592 | Loss: 0.0013159857584489672 | Accuracy: 1.0
Epoch: 593 | Loss: 0.0013138128495141996 | Accuracy: 1.0
Epoch: 594 | Loss: 0.0013113332773294914 | Accuracy: 1.0
Epoch: 595 | Loss: 0.001308560799230315 | Accuracy: 1.0
Epoch: 596 | Loss: 0.0013063699889499692 | Accuracy: 1.0
Epoch: 597 | Loss: 0.001304259558332224 | Accuracy: 1.0
Epoch: 598 | Loss: 0.001301892728964359 | Accuracy: 1.0
Epoch: 599 | Loss: 0.0012994198653762347 | Accuracy: 1.0
Epoch: 600 | Loss: 0.0012968705490477527 | Accuracy: 1.0
Epoch: 601 | Loss: 0.0012944135568361387 | Accuracy: 1.0
Epoch: 602 | Loss: 0.0012923058246798822 | Accuracy: 1.0
Epoch: 603 | Loss: 0.0012901181612824978 | Accuracy: 1.0
Epoch: 604 | Loss: 0.001287602993264779 | Accuracy: 1.0
Epoch: 605 | Loss: 0.0012853038476158237 | Accuracy: 1.0
Epoch: 606 | Loss: 0.0012831602087193406 | Accuracy: 1.0
Epoch: 607 | Loss: 0.001280894387367905 | Accuracy: 1.0
Epoch: 608 | Loss: 0.0012784711528670114 | Accuracy: 1.0
Epoch: 609 | Loss: 0.0012759730573988323 | Accuracy: 1.0
Epoch: 610 | Loss: 0.0012737324518378747 | Accuracy: 1.0
Epoch: 611 | Loss: 0.0012714860688722161 | Accuracy: 1.0
Epoch: 612 | Loss: 0.0012691239580440881 | Accuracy: 1.0
Epoch: 613 | Loss: 0.0012669775332493699 | Accuracy: 1.0
Epoch: 614 | Loss: 0.0012646711900991528 | Accuracy: 1.0
Epoch: 615 | Loss: 0.0012626361030502267 | Accuracy: 1.0
Epoch: 616 | Loss: 0.0012603926183001116 | Accuracy: 1.0
Epoch: 617 | Loss: 0.0012580466559197257 | Accuracy: 1.0
Epoch: 618 | Loss: 0.0012558878180216942 | Accuracy: 1.0
Epoch: 619 | Loss: 0.0012537569797943066 | Accuracy: 1.0
Epoch: 620 | Loss: 0.0012514777827380248 | Accuracy: 1.0
Epoch: 621 | Loss: 0.0012492718854058243 | Accuracy: 1.0
Epoch: 622 | Loss: 0.0012471321983588191 | Accuracy: 1.0
Epoch: 623 | Loss: 0.0012451357551487737 | Accuracy: 1.0
Epoch: 624 | Loss: 0.0012429593382410422 | Accuracy: 1.0
Epoch: 625 | Loss: 0.0012407169470104488 | Accuracy: 1.0
Epoch: 626 | Loss: 0.00123864199929294 | Accuracy: 1.0
Epoch: 627 | Loss: 0.0012364988514887779 | Accuracy: 1.0
Epoch: 628 | Loss: 0.0012345761238178104 | Accuracy: 1.0
Epoch: 629 | Loss: 0.001232446733128333 | Accuracy: 1.0
Epoch: 630 | Loss: 0.0012303603115895827 | Accuracy: 1.0
Epoch: 631 | Loss: 0.0012282818898090213 | Accuracy: 1.0
Epoch: 632 | Loss: 0.0012259963272902418 | Accuracy: 1.0
Epoch: 633 | Loss: 0.0012238569203180632 | Accuracy: 1.0
Epoch: 634 | Loss: 0.0012218396981222926 | Accuracy: 1.0
Epoch: 635 | Loss: 0.0012197522173536945 | Accuracy: 1.0
Epoch: 636 | Loss: 0.0012176021391171578 | Accuracy: 1.0
Epoch: 637 | Loss: 0.0012156455633375552 | Accuracy: 1.0
Epoch: 638 | Loss: 0.0012135534392060453 | Accuracy: 1.0
Epoch: 639 | Loss: 0.0012115934364525386 | Accuracy: 1.0
Epoch: 640 | Loss: 0.0012096437506794989 | Accuracy: 1.0
Epoch: 641 | Loss: 0.0012074125664781154 | Accuracy: 1.0
Epoch: 642 | Loss: 0.0012056057162017433 | Accuracy: 1.0
Epoch: 643 | Loss: 0.0012036485088463907 | Accuracy: 1.0
Epoch: 644 | Loss: 0.0012015310227064249 | Accuracy: 1.0
Epoch: 645 | Loss: 0.0011994024601470607 | Accuracy: 1.0
Epoch: 646 | Loss: 0.0011973517769922949 | Accuracy: 1.0
Epoch: 647 | Loss: 0.0011953988381540662 | Accuracy: 1.0
Epoch: 648 | Loss: 0.0011935085780243907 | Accuracy: 1.0
Epoch: 649 | Loss: 0.001191352989111833 | Accuracy: 1.0
Epoch: 650 | Loss: 0.0011893772112550939 | Accuracy: 1.0
Epoch: 651 | Loss: 0.0011874434672149586 | Accuracy: 1.0
Epoch: 652 | Loss: 0.0011853447511405843 | Accuracy: 1.0
Epoch: 653 | Loss: 0.00118362928004356 | Accuracy: 1.0
Epoch: 654 | Loss: 0.0011817757911703067 | Accuracy: 1.0
Epoch: 655 | Loss: 0.0011797665584065327 | Accuracy: 1.0
Epoch: 656 | Loss: 0.001177740760294383 | Accuracy: 1.0
Epoch: 657 | Loss: 0.0011758108217855242 | Accuracy: 1.0
Epoch: 658 | Loss: 0.0011738470842316113 | Accuracy: 1.0
Epoch: 659 | Loss: 0.0011720878559747369 | Accuracy: 1.0
Epoch: 660 | Loss: 0.0011701418027933578 | Accuracy: 1.0
Epoch: 661 | Loss: 0.0011681492330223885 | Accuracy: 1.0
Epoch: 662 | Loss: 0.0011662654317112274 | Accuracy: 1.0
Epoch: 663 | Loss: 0.001164350665165979 | Accuracy: 1.0
Epoch: 664 | Loss: 0.0011623977427984407 | Accuracy: 1.0
Epoch: 665 | Loss: 0.0011604566727700942 | Accuracy: 1.0
Epoch: 666 | Loss: 0.001158581246667168 | Accuracy: 1.0
Epoch: 667 | Loss: 0.0011566752935668965 | Accuracy: 1.0
Epoch: 668 | Loss: 0.0011549507050279176 | Accuracy: 1.0
Epoch: 669 | Loss: 0.0011531054044334142 | Accuracy: 1.0
Epoch: 670 | Loss: 0.0011511198198561484 | Accuracy: 1.0
Epoch: 671 | Loss: 0.0011491867898675465 | Accuracy: 1.0
Epoch: 672 | Loss: 0.0011474017177856787 | Accuracy: 1.0
Epoch: 673 | Loss: 0.0011456445220028254 | Accuracy: 1.0
Epoch: 674 | Loss: 0.0011437800893174003 | Accuracy: 1.0
Epoch: 675 | Loss: 0.0011419375579950599 | Accuracy: 1.0
Epoch: 676 | Loss: 0.0011402684757295684 | Accuracy: 1.0
Epoch: 677 | Loss: 0.001138417808440714 | Accuracy: 1.0
Epoch: 678 | Loss: 0.001136473576389464 | Accuracy: 1.0
Epoch: 679 | Loss: 0.0011348786649728302 | Accuracy: 1.0
Epoch: 680 | Loss: 0.0011330745354542018 | Accuracy: 1.0
Epoch: 681 | Loss: 0.0011310844371788028 | Accuracy: 1.0
Epoch: 682 | Loss: 0.0011293000677807107 | Accuracy: 1.0
Epoch: 683 | Loss: 0.0011275048697066416 | Accuracy: 1.0
Epoch: 684 | Loss: 0.0011258894550798468 | Accuracy: 1.0
Epoch: 685 | Loss: 0.0011240798676618669 | Accuracy: 1.0
Epoch: 686 | Loss: 0.001122282793202607 | Accuracy: 1.0
Epoch: 687 | Loss: 0.0011204434585861795 | Accuracy: 1.0
Epoch: 688 | Loss: 0.0011186804962323353 | Accuracy: 1.0
Epoch: 689 | Loss: 0.0011170081328741336 | Accuracy: 1.0
Epoch: 690 | Loss: 0.0011152467887226055 | Accuracy: 1.0
Epoch: 691 | Loss: 0.0011135676109544853 | Accuracy: 1.0
Epoch: 692 | Loss: 0.0011117707527096208 | Accuracy: 1.0
Epoch: 693 | Loss: 0.0011099863756541728 | Accuracy: 1.0
Epoch: 694 | Loss: 0.001108334523029392 | Accuracy: 1.0
Epoch: 695 | Loss: 0.0011066018748964478 | Accuracy: 1.0
Epoch: 696 | Loss: 0.001104971737936441 | Accuracy: 1.0
Epoch: 697 | Loss: 0.0011032487449970573 | Accuracy: 1.0
Epoch: 698 | Loss: 0.0011014832794826364 | Accuracy: 1.0
Epoch: 699 | Loss: 0.0010997844783950186 | Accuracy: 1.0
Epoch: 700 | Loss: 0.0010981688139428496 | Accuracy: 1.0
In [23]:
plot_colored_graph(model, X, y)
<ipython-input-13-ff87a8808486>:9: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
  plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
2021-04-01T20:43:14.077972 image/svg+xml Matplotlib v3.3.3, https://matplotlib.org/
In [24]:
model = Sequential(
    Linear(2, 8),
    Sigmoid(),
    Linear(8, 2),
)
optimizer = SGD(model.parameters(), lr=3e-2, momentum=0.9)
criterion = CrossEntropyLoss()
In [25]:
train_model(X, y, model, optimizer, criterion, 2000)
34489999 | Accuracy: 1.0
Epoch: 1650 | Loss: 0.009245954987302678 | Accuracy: 1.0
Epoch: 1651 | Loss: 0.009236918805993151 | Accuracy: 1.0
Epoch: 1652 | Loss: 0.009227898749168845 | Accuracy: 1.0
Epoch: 1653 | Loss: 0.009218894775574 | Accuracy: 1.0
Epoch: 1654 | Loss: 0.0092099068440897 | Accuracy: 1.0
Epoch: 1655 | Loss: 0.009200934913732991 | Accuracy: 1.0
Epoch: 1656 | Loss: 0.009191978943656478 | Accuracy: 1.0
Epoch: 1657 | Loss: 0.00918303889314802 | Accuracy: 1.0
Epoch: 1658 | Loss: 0.009174114721629328 | Accuracy: 1.0
Epoch: 1659 | Loss: 0.009165206388656772 | Accuracy: 1.0
Epoch: 1660 | Loss: 0.009156313853919426 | Accuracy: 1.0
Epoch: 1661 | Loss: 0.009147437077239312 | Accuracy: 1.0
Epoch: 1662 | Loss: 0.009138576018571116 | Accuracy: 1.0
Epoch: 1663 | Loss: 0.009129730638000908 | Accuracy: 1.0
Epoch: 1664 | Loss: 0.00912090089574599 | Accuracy: 1.0
Epoch: 1665 | Loss: 0.009112086752154594 | Accuracy: 1.0
Epoch: 1666 | Loss: 0.009103288167704914 | Accuracy: 1.0
Epoch: 1667 | Loss: 0.009094505103004843 | Accuracy: 1.0
Epoch: 1668 | Loss: 0.009085737518791397 | Accuracy: 1.0
Epoch: 1669 | Loss: 0.009076985375930213 | Accuracy: 1.0
Epoch: 1670 | Loss: 0.009068248635415263 | Accuracy: 1.0
Epoch: 1671 | Loss: 0.009059527258367433 | Accuracy: 1.0
Epoch: 1672 | Loss: 0.009050821206035373 | Accuracy: 1.0
Epoch: 1673 | Loss: 0.009042130439793974 | Accuracy: 1.0
Epoch: 1674 | Loss: 0.009033454921144261 | Accuracy: 1.0
Epoch: 1675 | Loss: 0.009024794611712817 | Accuracy: 1.0
Epoch: 1676 | Loss: 0.009016149473251293 | Accuracy: 1.0
Epoch: 1677 | Loss: 0.009007519467635613 | Accuracy: 1.0
Epoch: 1678 | Loss: 0.008998904556866274 | Accuracy: 1.0
Epoch: 1679 | Loss: 0.00899030470306695 | Accuracy: 1.0
Epoch: 1680 | Loss: 0.008981719868484546 | Accuracy: 1.0
Epoch: 1681 | Loss: 0.00897315001548846 | Accuracy: 1.0
Epoch: 1682 | Loss: 0.008964595106570225 | Accuracy: 1.0
Epoch: 1683 | Loss: 0.008956055104343186 | Accuracy: 1.0
Epoch: 1684 | Loss: 0.008947529971541471 | Accuracy: 1.0
Epoch: 1685 | Loss: 0.008939019671020013 | Accuracy: 1.0
Epoch: 1686 | Loss: 0.008930524165754012 | Accuracy: 1.0
Epoch: 1687 | Loss: 0.008922043418838201 | Accuracy: 1.0
Epoch: 1688 | Loss: 0.008913577393486744 | Accuracy: 1.0
Epoch: 1689 | Loss: 0.008905126053032345 | Accuracy: 1.0
Epoch: 1690 | Loss: 0.008896689360926123 | Accuracy: 1.0
Epoch: 1691 | Loss: 0.008888267280736974 | Accuracy: 1.0
Epoch: 1692 | Loss: 0.008879859776151196 | Accuracy: 1.0
Epoch: 1693 | Loss: 0.008871466810971736 | Accuracy: 1.0
Epoch: 1694 | Loss: 0.008863088349118428 | Accuracy: 1.0
Epoch: 1695 | Loss: 0.008854724354626716 | Accuracy: 1.0
Epoch: 1696 | Loss: 0.00884637479164766 | Accuracy: 1.0
Epoch: 1697 | Loss: 0.008838039624447307 | Accuracy: 1.0
Epoch: 1698 | Loss: 0.008829718817406528 | Accuracy: 1.0
Epoch: 1699 | Loss: 0.008821412335020108 | Accuracy: 1.0
Epoch: 1700 | Loss: 0.008813120141896724 | Accuracy: 1.0
Epoch: 1701 | Loss: 0.008804842202758262 | Accuracy: 1.0
Epoch: 1702 | Loss: 0.008796578482439477 | Accuracy: 1.0
Epoch: 1703 | Loss: 0.008788328945887347 | Accuracy: 1.0
Epoch: 1704 | Loss: 0.008780093558161072 | Accuracy: 1.0
Epoch: 1705 | Loss: 0.00877187228443094 | Accuracy: 1.0
Epoch: 1706 | Loss: 0.008763665089978782 | Accuracy: 1.0
Epoch: 1707 | Loss: 0.008755471940196833 | Accuracy: 1.0
Epoch: 1708 | Loss: 0.008747292800587437 | Accuracy: 1.0
Epoch: 1709 | Loss: 0.008739127636762888 | Accuracy: 1.0
Epoch: 1710 | Loss: 0.008730976414444844 | Accuracy: 1.0
Epoch: 1711 | Loss: 0.008722839099463708 | Accuracy: 1.0
Epoch: 1712 | Loss: 0.008714715657758476 | Accuracy: 1.0
Epoch: 1713 | Loss: 0.0087066060553764 | Accuracy: 1.0
Epoch: 1714 | Loss: 0.008698510258472066 | Accuracy: 1.0
Epoch: 1715 | Loss: 0.008690428233307543 | Accuracy: 1.0
Epoch: 1716 | Loss: 0.008682359946251694 | Accuracy: 1.0
Epoch: 1717 | Loss: 0.008674305363779677 | Accuracy: 1.0
Epoch: 1718 | Loss: 0.008666264452472733 | Accuracy: 1.0
Epoch: 1719 | Loss: 0.008658237179017668 | Accuracy: 1.0
Epoch: 1720 | Loss: 0.008650223510206598 | Accuracy: 1.0
Epoch: 1721 | Loss: 0.00864222341293621 | Accuracy: 1.0
Epoch: 1722 | Loss: 0.00863423685420758 | Accuracy: 1.0
Epoch: 1723 | Loss: 0.008626263801126133 | Accuracy: 1.0
Epoch: 1724 | Loss: 0.008618304220900139 | Accuracy: 1.0
Epoch: 1725 | Loss: 0.008610358080841877 | Accuracy: 1.0
Epoch: 1726 | Loss: 0.00860242534836583 | Accuracy: 1.0
Epoch: 1727 | Loss: 0.008594505990988814 | Accuracy: 1.0
Epoch: 1728 | Loss: 0.008586599976329944 | Accuracy: 1.0
Epoch: 1729 | Loss: 0.00857870727210995 | Accuracy: 1.0
Epoch: 1730 | Loss: 0.008570827846150403 | Accuracy: 1.0
Epoch: 1731 | Loss: 0.008562961666374026 | Accuracy: 1.0
Epoch: 1732 | Loss: 0.008555108700803922 | Accuracy: 1.0
Epoch: 1733 | Loss: 0.008547268917562915 | Accuracy: 1.0
Epoch: 1734 | Loss: 0.008539442284873886 | Accuracy: 1.0
Epoch: 1735 | Loss: 0.008531628771058798 | Accuracy: 1.0
Epoch: 1736 | Loss: 0.008523828344538607 | Accuracy: 1.0
Epoch: 1737 | Loss: 0.008516040973832698 | Accuracy: 1.0
Epoch: 1738 | Loss: 0.00850826662755856 | Accuracy: 1.0
Epoch: 1739 | Loss: 0.008500505274431601 | Accuracy: 1.0
Epoch: 1740 | Loss: 0.008492756883264587 | Accuracy: 1.0
Epoch: 1741 | Loss: 0.00848502142296708 | Accuracy: 1.0
Epoch: 1742 | Loss: 0.008477298862545734 | Accuracy: 1.0
Epoch: 1743 | Loss: 0.008469589171103135 | Accuracy: 1.0
Epoch: 1744 | Loss: 0.008461892317837925 | Accuracy: 1.0
Epoch: 1745 | Loss: 0.008454208272044243 | Accuracy: 1.0
Epoch: 1746 | Loss: 0.008446537003111296 | Accuracy: 1.0
Epoch: 1747 | Loss: 0.008438878480523652 | Accuracy: 1.0
Epoch: 1748 | Loss: 0.008431232673859762 | Accuracy: 1.0
Epoch: 1749 | Loss: 0.008423599552792427 | Accuracy: 1.0
Epoch: 1750 | Loss: 0.008415979087088224 | Accuracy: 1.0
Epoch: 1751 | Loss: 0.008408371246607064 | Accuracy: 1.0
Epoch: 1752 | Loss: 0.008400776001302058 | Accuracy: 1.0
Epoch: 1753 | Loss: 0.008393193321218743 | Accuracy: 1.0
Epoch: 1754 | Loss: 0.008385623176495478 | Accuracy: 1.0
Epoch: 1755 | Loss: 0.008378065537361978 | Accuracy: 1.0
Epoch: 1756 | Loss: 0.008370520374140088 | Accuracy: 1.0
Epoch: 1757 | Loss: 0.008362987657242962 | Accuracy: 1.0
Epoch: 1758 | Loss: 0.0083554673571744 | Accuracy: 1.0
Epoch: 1759 | Loss: 0.008347959444529042 | Accuracy: 1.0
Epoch: 1760 | Loss: 0.008340463889991824 | Accuracy: 1.0
Epoch: 1761 | Loss: 0.008332980664337589 | Accuracy: 1.0
Epoch: 1762 | Loss: 0.0083255097384307 | Accuracy: 1.0
Epoch: 1763 | Loss: 0.008318051083224998 | Accuracy: 1.0
Epoch: 1764 | Loss: 0.008310604669762906 | Accuracy: 1.0
Epoch: 1765 | Loss: 0.008303170469175888 | Accuracy: 1.0
Epoch: 1766 | Loss: 0.008295748452683306 | Accuracy: 1.0
Epoch: 1767 | Loss: 0.008288338591592599 | Accuracy: 1.0
Epoch: 1768 | Loss: 0.008280940857298948 | Accuracy: 1.0
Epoch: 1769 | Loss: 0.008273555221284529 | Accuracy: 1.0
Epoch: 1770 | Loss: 0.00826618165511875 | Accuracy: 1.0
Epoch: 1771 | Loss: 0.008258820130457409 | Accuracy: 1.0
Epoch: 1772 | Loss: 0.008251470619042842 | Accuracy: 1.0
Epoch: 1773 | Loss: 0.008244133092703127 | Accuracy: 1.0
Epoch: 1774 | Loss: 0.008236807523352188 | Accuracy: 1.0
Epoch: 1775 | Loss: 0.008229493882989452 | Accuracy: 1.0
Epoch: 1776 | Loss: 0.008222192143698976 | Accuracy: 1.0
Epoch: 1777 | Loss: 0.00821490227764977 | Accuracy: 1.0
Epoch: 1778 | Loss: 0.008207624257094967 | Accuracy: 1.0
Epoch: 1779 | Loss: 0.008200358054372425 | Accuracy: 1.0
Epoch: 1780 | Loss: 0.00819310364190305 | Accuracy: 1.0
Epoch: 1781 | Loss: 0.008185860992191657 | Accuracy: 1.0
Epoch: 1782 | Loss: 0.008178630077825945 | Accuracy: 1.0
Epoch: 1783 | Loss: 0.008171410871476863 | Accuracy: 1.0
Epoch: 1784 | Loss: 0.008164203345897365 | Accuracy: 1.0
Epoch: 1785 | Loss: 0.008157007473922936 | Accuracy: 1.0
Epoch: 1786 | Loss: 0.008149823228471055 | Accuracy: 1.0
Epoch: 1787 | Loss: 0.008142650582540701 | Accuracy: 1.0
Epoch: 1788 | Loss: 0.008135489509212139 | Accuracy: 1.0
Epoch: 1789 | Loss: 0.00812833998164673 | Accuracy: 1.0
Epoch: 1790 | Loss: 0.008121201973086667 | Accuracy: 1.0
Epoch: 1791 | Loss: 0.008114075456854265 | Accuracy: 1.0
Epoch: 1792 | Loss: 0.008106960406352365 | Accuracy: 1.0
Epoch: 1793 | Loss: 0.008099856795063271 | Accuracy: 1.0
Epoch: 1794 | Loss: 0.008092764596549071 | Accuracy: 1.0
Epoch: 1795 | Loss: 0.008085683784451046 | Accuracy: 1.0
Epoch: 1796 | Loss: 0.008078614332489489 | Accuracy: 1.0
Epoch: 1797 | Loss: 0.008071556214463281 | Accuracy: 1.0
Epoch: 1798 | Loss: 0.008064509404249666 | Accuracy: 1.0
Epoch: 1799 | Loss: 0.008057473875804137 | Accuracy: 1.0
Epoch: 1800 | Loss: 0.008050449603159728 | Accuracy: 1.0
Epoch: 1801 | Loss: 0.008043436560427289 | Accuracy: 1.0
Epoch: 1802 | Loss: 0.00803643472179477 | Accuracy: 1.0
Epoch: 1803 | Loss: 0.008029444061527027 | Accuracy: 1.0
Epoch: 1804 | Loss: 0.008022464553965773 | Accuracy: 1.0
Epoch: 1805 | Loss: 0.008015496173528997 | Accuracy: 1.0
Epoch: 1806 | Loss: 0.008008538894710721 | Accuracy: 1.0
Epoch: 1807 | Loss: 0.008001592692081078 | Accuracy: 1.0
Epoch: 1808 | Loss: 0.00799465754028552 | Accuracy: 1.0
Epoch: 1809 | Loss: 0.007987733414044733 | Accuracy: 1.0
Epoch: 1810 | Loss: 0.007980820288154885 | Accuracy: 1.0
Epoch: 1811 | Loss: 0.007973918137486314 | Accuracy: 1.0
Epoch: 1812 | Loss: 0.007967026936984064 | Accuracy: 1.0
Epoch: 1813 | Loss: 0.007960146661667597 | Accuracy: 1.0
Epoch: 1814 | Loss: 0.007953277286629909 | Accuracy: 1.0
Epoch: 1815 | Loss: 0.007946418787038024 | Accuracy: 1.0
Epoch: 1816 | Loss: 0.007939571138132087 | Accuracy: 1.0
Epoch: 1817 | Loss: 0.007932734315225669 | Accuracy: 1.0
Epoch: 1818 | Loss: 0.007925908293704913 | Accuracy: 1.0
Epoch: 1819 | Loss: 0.007919093049028735 | Accuracy: 1.0
Epoch: 1820 | Loss: 0.007912288556728285 | Accuracy: 1.0
Epoch: 1821 | Loss: 0.007905494792406993 | Accuracy: 1.0
Epoch: 1822 | Loss: 0.007898711731739849 | Accuracy: 1.0
Epoch: 1823 | Loss: 0.00789193935047367 | Accuracy: 1.0
Epoch: 1824 | Loss: 0.007885177624426259 | Accuracy: 1.0
Epoch: 1825 | Loss: 0.007878426529486872 | Accuracy: 1.0
Epoch: 1826 | Loss: 0.00787168604161519 | Accuracy: 1.0
Epoch: 1827 | Loss: 0.00786495613684161 | Accuracy: 1.0
Epoch: 1828 | Loss: 0.00785823679126685 | Accuracy: 1.0
Epoch: 1829 | Loss: 0.00785152798106143 | Accuracy: 1.0
Epoch: 1830 | Loss: 0.007844829682466038 | Accuracy: 1.0
Epoch: 1831 | Loss: 0.007838141871790546 | Accuracy: 1.0
Epoch: 1832 | Loss: 0.007831464525414228 | Accuracy: 1.0
Epoch: 1833 | Loss: 0.007824797619785417 | Accuracy: 1.0
Epoch: 1834 | Loss: 0.00781814113142118 | Accuracy: 1.0
Epoch: 1835 | Loss: 0.007811495036907122 | Accuracy: 1.0
Epoch: 1836 | Loss: 0.007804859312897254 | Accuracy: 1.0
Epoch: 1837 | Loss: 0.00779823393611355 | Accuracy: 1.0
Epoch: 1838 | Loss: 0.007791618883345728 | Accuracy: 1.0
Epoch: 1839 | Loss: 0.007785014131451087 | Accuracy: 1.0
Epoch: 1840 | Loss: 0.007778419657354396 | Accuracy: 1.0
Epoch: 1841 | Loss: 0.007771835438047317 | Accuracy: 1.0
Epoch: 1842 | Loss: 0.007765261450588657 | Accuracy: 1.0
Epoch: 1843 | Loss: 0.007758697672103316 | Accuracy: 1.0
Epoch: 1844 | Loss: 0.007752144079783174 | Accuracy: 1.0
Epoch: 1845 | Loss: 0.007745600650885713 | Accuracy: 1.0
Epoch: 1846 | Loss: 0.00773906736273465 | Accuracy: 1.0
Epoch: 1847 | Loss: 0.007732544192719227 | Accuracy: 1.0
Epoch: 1848 | Loss: 0.007726031118294176 | Accuracy: 1.0
Epoch: 1849 | Loss: 0.0077195281169794815 | Accuracy: 1.0
Epoch: 1850 | Loss: 0.0077130351663598756 | Accuracy: 1.0
Epoch: 1851 | Loss: 0.00770655224408504 | Accuracy: 1.0
Epoch: 1852 | Loss: 0.00770007932786905 | Accuracy: 1.0
Epoch: 1853 | Loss: 0.007693616395490408 | Accuracy: 1.0
Epoch: 1854 | Loss: 0.0076871634247916 | Accuracy: 1.0
Epoch: 1855 | Loss: 0.007680720393678765 | Accuracy: 1.0
Epoch: 1856 | Loss: 0.00767428728012195 | Accuracy: 1.0
Epoch: 1857 | Loss: 0.007667864062154273 | Accuracy: 1.0
Epoch: 1858 | Loss: 0.0076614507178723226 | Accuracy: 1.0
Epoch: 1859 | Loss: 0.007655047225435408 | Accuracy: 1.0
Epoch: 1860 | Loss: 0.007648653563065558 | Accuracy: 1.0
Epoch: 1861 | Loss: 0.0076422697090473045 | Accuracy: 1.0
Epoch: 1862 | Loss: 0.007635895641727548 | Accuracy: 1.0
Epoch: 1863 | Loss: 0.007629531339515194 | Accuracy: 1.0
Epoch: 1864 | Loss: 0.007623176780881022 | Accuracy: 1.0
Epoch: 1865 | Loss: 0.007616831944357187 | Accuracy: 1.0
Epoch: 1866 | Loss: 0.0076104968085375785 | Accuracy: 1.0
Epoch: 1867 | Loss: 0.007604171352076997 | Accuracy: 1.0
Epoch: 1868 | Loss: 0.007597855553691426 | Accuracy: 1.0
Epoch: 1869 | Loss: 0.007591549392157405 | Accuracy: 1.0
Epoch: 1870 | Loss: 0.00758525284631233 | Accuracy: 1.0
Epoch: 1871 | Loss: 0.007578965895053599 | Accuracy: 1.0
Epoch: 1872 | Loss: 0.007572688517338945 | Accuracy: 1.0
Epoch: 1873 | Loss: 0.007566420692185832 | Accuracy: 1.0
Epoch: 1874 | Loss: 0.007560162398671507 | Accuracy: 1.0
Epoch: 1875 | Loss: 0.007553913615932896 | Accuracy: 1.0
Epoch: 1876 | Loss: 0.007547674323165937 | Accuracy: 1.0
Epoch: 1877 | Loss: 0.007541444499625834 | Accuracy: 1.0
Epoch: 1878 | Loss: 0.007535224124626394 | Accuracy: 1.0
Epoch: 1879 | Loss: 0.0075290131775406915 | Accuracy: 1.0
Epoch: 1880 | Loss: 0.0075228116377995214 | Accuracy: 1.0
Epoch: 1881 | Loss: 0.007516619484892396 | Accuracy: 1.0
Epoch: 1882 | Loss: 0.00751043669836691 | Accuracy: 1.0
Epoch: 1883 | Loss: 0.007504263257828247 | Accuracy: 1.0
Epoch: 1884 | Loss: 0.00749809914293951 | Accuracy: 1.0
Epoch: 1885 | Loss: 0.007491944333421114 | Accuracy: 1.0
Epoch: 1886 | Loss: 0.007485798809050707 | Accuracy: 1.0
Epoch: 1887 | Loss: 0.007479662549663279 | Accuracy: 1.0
Epoch: 1888 | Loss: 0.007473535535150143 | Accuracy: 1.0
Epoch: 1889 | Loss: 0.007467417745459987 | Accuracy: 1.0
Epoch: 1890 | Loss: 0.0074613091605973784 | Accuracy: 1.0
Epoch: 1891 | Loss: 0.007455209760623353 | Accuracy: 1.0
Epoch: 1892 | Loss: 0.007449119525655189 | Accuracy: 1.0
Epoch: 1893 | Loss: 0.007443038435865773 | Accuracy: 1.0
Epoch: 1894 | Loss: 0.007436966471484048 | Accuracy: 1.0
Epoch: 1895 | Loss: 0.007430903612794042 | Accuracy: 1.0
Epoch: 1896 | Loss: 0.0074248498401355105 | Accuracy: 1.0
Epoch: 1897 | Loss: 0.007418805133902964 | Accuracy: 1.0
Epoch: 1898 | Loss: 0.007412769474546145 | Accuracy: 1.0
Epoch: 1899 | Loss: 0.007406742842569444 | Accuracy: 1.0
Epoch: 1900 | Loss: 0.007400725218531656 | Accuracy: 1.0
Epoch: 1901 | Loss: 0.007394716583045978 | Accuracy: 1.0
Epoch: 1902 | Loss: 0.007388716916780236 | Accuracy: 1.0
Epoch: 1903 | Loss: 0.00738272620045561 | Accuracy: 1.0
Epoch: 1904 | Loss: 0.0073767444148475775 | Accuracy: 1.0
Epoch: 1905 | Loss: 0.007370771540785002 | Accuracy: 1.0
Epoch: 1906 | Loss: 0.007364807559150217 | Accuracy: 1.0
Epoch: 1907 | Loss: 0.007358852450878918 | Accuracy: 1.0
Epoch: 1908 | Loss: 0.0073529061969597196 | Accuracy: 1.0
Epoch: 1909 | Loss: 0.007346968778434462 | Accuracy: 1.0
Epoch: 1910 | Loss: 0.007341040176397213 | Accuracy: 1.0
Epoch: 1911 | Loss: 0.007335120371995026 | Accuracy: 1.0
Epoch: 1912 | Loss: 0.007329209346427125 | Accuracy: 1.0
Epoch: 1913 | Loss: 0.007323307080944865 | Accuracy: 1.0
Epoch: 1914 | Loss: 0.007317413556851719 | Accuracy: 1.0
Epoch: 1915 | Loss: 0.007311528755502934 | Accuracy: 1.0
Epoch: 1916 | Loss: 0.0073056526583054945 | Accuracy: 1.0
Epoch: 1917 | Loss: 0.007299785246717766 | Accuracy: 1.0
Epoch: 1918 | Loss: 0.007293926502249332 | Accuracy: 1.0
Epoch: 1919 | Loss: 0.007288076406461163 | Accuracy: 1.0
Epoch: 1920 | Loss: 0.007282234940964922 | Accuracy: 1.0
Epoch: 1921 | Loss: 0.007276402087423273 | Accuracy: 1.0
Epoch: 1922 | Loss: 0.007270577827549356 | Accuracy: 1.0
Epoch: 1923 | Loss: 0.007264762143106842 | Accuracy: 1.0
Epoch: 1924 | Loss: 0.0072589550159094084 | Accuracy: 1.0
Epoch: 1925 | Loss: 0.00725315642782119 | Accuracy: 1.0
Epoch: 1926 | Loss: 0.007247366360756048 | Accuracy: 1.0
Epoch: 1927 | Loss: 0.007241584796677779 | Accuracy: 1.0
Epoch: 1928 | Loss: 0.007235811717599273 | Accuracy: 1.0
Epoch: 1929 | Loss: 0.007230047105583743 | Accuracy: 1.0
Epoch: 1930 | Loss: 0.007224290942742839 | Accuracy: 1.0
Epoch: 1931 | Loss: 0.007218543211237561 | Accuracy: 1.0
Epoch: 1932 | Loss: 0.007212803893278019 | Accuracy: 1.0
Epoch: 1933 | Loss: 0.007207072971122951 | Accuracy: 1.0
Epoch: 1934 | Loss: 0.007201350427079491 | Accuracy: 1.0
Epoch: 1935 | Loss: 0.007195636243503597 | Accuracy: 1.0
Epoch: 1936 | Loss: 0.007189930402799316 | Accuracy: 1.0
Epoch: 1937 | Loss: 0.007184232887418673 | Accuracy: 1.0
Epoch: 1938 | Loss: 0.007178543679861916 | Accuracy: 1.0
Epoch: 1939 | Loss: 0.007172862762676859 | Accuracy: 1.0
Epoch: 1940 | Loss: 0.007167190118459045 | Accuracy: 1.0
Epoch: 1941 | Loss: 0.0071615257298515 | Accuracy: 1.0
Epoch: 1942 | Loss: 0.007155869579544597 | Accuracy: 1.0
Epoch: 1943 | Loss: 0.007150221650275639 | Accuracy: 1.0
Epoch: 1944 | Loss: 0.007144581924829141 | Accuracy: 1.0
Epoch: 1945 | Loss: 0.0071389503860363815 | Accuracy: 1.0
Epoch: 1946 | Loss: 0.0071333270167754405 | Accuracy: 1.0
Epoch: 1947 | Loss: 0.007127711799970778 | Accuracy: 1.0
Epoch: 1948 | Loss: 0.007122104718593185 | Accuracy: 1.0
Epoch: 1949 | Loss: 0.007116505755660057 | Accuracy: 1.0
Epoch: 1950 | Loss: 0.007110914894234096 | Accuracy: 1.0
Epoch: 1951 | Loss: 0.007105332117424697 | Accuracy: 1.0
Epoch: 1952 | Loss: 0.007099757408386734 | Accuracy: 1.0
Epoch: 1953 | Loss: 0.007094190750320271 | Accuracy: 1.0
Epoch: 1954 | Loss: 0.007088632126471579 | Accuracy: 1.0
Epoch: 1955 | Loss: 0.007083081520131766 | Accuracy: 1.0
Epoch: 1956 | Loss: 0.007077538914637172 | Accuracy: 1.0
Epoch: 1957 | Loss: 0.007072004293369008 | Accuracy: 1.0
Epoch: 1958 | Loss: 0.007066477639753662 | Accuracy: 1.0
Epoch: 1959 | Loss: 0.007060958937261818 | Accuracy: 1.0
Epoch: 1960 | Loss: 0.007055448169409198 | Accuracy: 1.0
Epoch: 1961 | Loss: 0.007049945319755739 | Accuracy: 1.0
Epoch: 1962 | Loss: 0.007044450371905284 | Accuracy: 1.0
Epoch: 1963 | Loss: 0.0070389633095061695 | Accuracy: 1.0
Epoch: 1964 | Loss: 0.007033484116250833 | Accuracy: 1.0
Epoch: 1965 | Loss: 0.0070280127758751585 | Accuracy: 1.0
Epoch: 1966 | Loss: 0.007022549272158911 | Accuracy: 1.0
Epoch: 1967 | Loss: 0.007017093588925441 | Accuracy: 1.0
Epoch: 1968 | Loss: 0.007011645710041429 | Accuracy: 1.0
Epoch: 1969 | Loss: 0.007006205619416755 | Accuracy: 1.0
Epoch: 1970 | Loss: 0.007000773301004495 | Accuracy: 1.0
Epoch: 1971 | Loss: 0.006995348738800537 | Accuracy: 1.0
Epoch: 1972 | Loss: 0.006989931916843859 | Accuracy: 1.0
Epoch: 1973 | Loss: 0.006984522819216112 | Accuracy: 1.0
Epoch: 1974 | Loss: 0.0069791214300411525 | Accuracy: 1.0
Epoch: 1975 | Loss: 0.00697372773348546 | Accuracy: 1.0
Epoch: 1976 | Loss: 0.006968341713757885 | Accuracy: 1.0
Epoch: 1977 | Loss: 0.006962963355109267 | Accuracy: 1.0
Epoch: 1978 | Loss: 0.006957592641832516 | Accuracy: 1.0
Epoch: 1979 | Loss: 0.006952229558262282 | Accuracy: 1.0
Epoch: 1980 | Loss: 0.006946874088775094 | Accuracy: 1.0
Epoch: 1981 | Loss: 0.006941526217788971 | Accuracy: 1.0
Epoch: 1982 | Loss: 0.006936185929763266 | Accuracy: 1.0
Epoch: 1983 | Loss: 0.006930853209198876 | Accuracy: 1.0
Epoch: 1984 | Loss: 0.006925528040637809 | Accuracy: 1.0
Epoch: 1985 | Loss: 0.006920210408662989 | Accuracy: 1.0
Epoch: 1986 | Loss: 0.006914900297898309 | Accuracy: 1.0
Epoch: 1987 | Loss: 0.006909597693008332 | Accuracy: 1.0
Epoch: 1988 | Loss: 0.006904302578698734 | Accuracy: 1.0
Epoch: 1989 | Loss: 0.006899014939715084 | Accuracy: 1.0
Epoch: 1990 | Loss: 0.006893734760843706 | Accuracy: 1.0
Epoch: 1991 | Loss: 0.006888462026910876 | Accuracy: 1.0
Epoch: 1992 | Loss: 0.006883196722783433 | Accuracy: 1.0
Epoch: 1993 | Loss: 0.006877938833367784 | Accuracy: 1.0
Epoch: 1994 | Loss: 0.006872688343610397 | Accuracy: 1.0
Epoch: 1995 | Loss: 0.006867445238497425 | Accuracy: 1.0
Epoch: 1996 | Loss: 0.006862209503054615 | Accuracy: 1.0
Epoch: 1997 | Loss: 0.006856981122347146 | Accuracy: 1.0
Epoch: 1998 | Loss: 0.006851760081479632 | Accuracy: 1.0
Epoch: 1999 | Loss: 0.006846546365595982 | Accuracy: 1.0
Epoch: 2000 | Loss: 0.006841339959878705 | Accuracy: 1.0
In [26]:
plot_colored_graph(model, X, y)
<ipython-input-13-ff87a8808486>:9: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
  plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
2021-04-01T20:43:21.512511 image/svg+xml Matplotlib v3.3.3, https://matplotlib.org/